refreshed and renamed docs, added bootstrap server, added default config for sec auditing
This commit is contained in:
		
							parent
							
								
									fe36b87c57
								
							
						
					
					
						commit
						6960d9209d
					
				
					 270 changed files with 20816 additions and 8345 deletions
				
			
		
							
								
								
									
										353
									
								
								docs/html/src/logger/colors.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										353
									
								
								docs/html/src/logger/colors.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,353 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.logger.colors API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.logger.colors</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>class to access ANSI control codes</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">''' | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     class to access ANSI control codes | ||||
| ''' | ||||
| ''' | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| ''' | ||||
| import re | ||||
| class Colors: | ||||
|     ''' | ||||
|         This class allows you to set the color if ANSI codes are supported | ||||
|     ''' | ||||
|     reset='\033[0m' | ||||
|     bold='\033[01m' | ||||
|     disable='\033[02m' | ||||
|     underline='\033[04m' | ||||
|     reverse='\033[07m' | ||||
|     strikethrough='\033[09m' | ||||
|     invisible='\033[08m' | ||||
|     italics='\033[3m' | ||||
|     class fg: | ||||
|         black='\033[30m' | ||||
|         red='\033[31m' | ||||
|         green='\033[32m' | ||||
|         orange='\033[33m' | ||||
|         blue='\033[34m' | ||||
|         purple='\033[35m' | ||||
|         cyan='\033[36m' | ||||
|         lightgrey='\033[37m' | ||||
|         darkgrey='\033[90m' | ||||
|         lightred='\033[91m' | ||||
|         lightgreen='\033[92m' | ||||
|         yellow='\033[93m' | ||||
|         lightblue='\033[94m' | ||||
|         pink='\033[95m' | ||||
|         lightcyan='\033[96m' | ||||
|     class bg: | ||||
|         black='\033[40m' | ||||
|         red='\033[41m' | ||||
|         green='\033[42m' | ||||
|         orange='\033[43m' | ||||
|         blue='\033[44m' | ||||
|         purple='\033[45m' | ||||
|         cyan='\033[46m' | ||||
|         lightgrey='\033[47m' | ||||
|     @staticmethod | ||||
|     def filter(data): | ||||
|         return re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]').sub('', str(data))</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-classes">Classes</h2> | ||||
| <dl> | ||||
| <dt id="src.logger.colors.Colors"><code class="flex name class"> | ||||
| <span>class <span class="ident">Colors</span></span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>This class allows you to set the color if ANSI codes are supported</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">class Colors: | ||||
|     ''' | ||||
|         This class allows you to set the color if ANSI codes are supported | ||||
|     ''' | ||||
|     reset='\033[0m' | ||||
|     bold='\033[01m' | ||||
|     disable='\033[02m' | ||||
|     underline='\033[04m' | ||||
|     reverse='\033[07m' | ||||
|     strikethrough='\033[09m' | ||||
|     invisible='\033[08m' | ||||
|     italics='\033[3m' | ||||
|     class fg: | ||||
|         black='\033[30m' | ||||
|         red='\033[31m' | ||||
|         green='\033[32m' | ||||
|         orange='\033[33m' | ||||
|         blue='\033[34m' | ||||
|         purple='\033[35m' | ||||
|         cyan='\033[36m' | ||||
|         lightgrey='\033[37m' | ||||
|         darkgrey='\033[90m' | ||||
|         lightred='\033[91m' | ||||
|         lightgreen='\033[92m' | ||||
|         yellow='\033[93m' | ||||
|         lightblue='\033[94m' | ||||
|         pink='\033[95m' | ||||
|         lightcyan='\033[96m' | ||||
|     class bg: | ||||
|         black='\033[40m' | ||||
|         red='\033[41m' | ||||
|         green='\033[42m' | ||||
|         orange='\033[43m' | ||||
|         blue='\033[44m' | ||||
|         purple='\033[45m' | ||||
|         cyan='\033[46m' | ||||
|         lightgrey='\033[47m' | ||||
|     @staticmethod | ||||
|     def filter(data): | ||||
|         return re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]').sub('', str(data))</code></pre> | ||||
| </details> | ||||
| <h3>Class variables</h3> | ||||
| <dl> | ||||
| <dt id="src.logger.colors.Colors.bg"><code class="name">var <span class="ident">bg</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">class bg: | ||||
|     black='\033[40m' | ||||
|     red='\033[41m' | ||||
|     green='\033[42m' | ||||
|     orange='\033[43m' | ||||
|     blue='\033[44m' | ||||
|     purple='\033[45m' | ||||
|     cyan='\033[46m' | ||||
|     lightgrey='\033[47m'</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.bold"><code class="name">var <span class="ident">bold</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.disable"><code class="name">var <span class="ident">disable</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.fg"><code class="name">var <span class="ident">fg</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">class fg: | ||||
|     black='\033[30m' | ||||
|     red='\033[31m' | ||||
|     green='\033[32m' | ||||
|     orange='\033[33m' | ||||
|     blue='\033[34m' | ||||
|     purple='\033[35m' | ||||
|     cyan='\033[36m' | ||||
|     lightgrey='\033[37m' | ||||
|     darkgrey='\033[90m' | ||||
|     lightred='\033[91m' | ||||
|     lightgreen='\033[92m' | ||||
|     yellow='\033[93m' | ||||
|     lightblue='\033[94m' | ||||
|     pink='\033[95m' | ||||
|     lightcyan='\033[96m'</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.invisible"><code class="name">var <span class="ident">invisible</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.italics"><code class="name">var <span class="ident">italics</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.reset"><code class="name">var <span class="ident">reset</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.reverse"><code class="name">var <span class="ident">reverse</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.strikethrough"><code class="name">var <span class="ident">strikethrough</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| <dt id="src.logger.colors.Colors.underline"><code class="name">var <span class="ident">underline</span></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>str(object='') -> str | ||||
| str(bytes_or_buffer[, encoding[, errors]]) -> str</p> | ||||
| <p>Create a new string object from the given object. If encoding or | ||||
| errors is specified, then the object must expose a data buffer | ||||
| that will be decoded using the given encoding and error handler. | ||||
| Otherwise, returns the result of object.<strong>str</strong>() (if defined) | ||||
| or repr(object). | ||||
| encoding defaults to sys.getdefaultencoding(). | ||||
| errors defaults to 'strict'.</p></section> | ||||
| </dd> | ||||
| </dl> | ||||
| <h3>Static methods</h3> | ||||
| <dl> | ||||
| <dt id="src.logger.colors.Colors.filter"><code class="name flex"> | ||||
| <span>def <span class="ident">filter</span></span>(<span>data)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">@staticmethod | ||||
| def filter(data): | ||||
|     return re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]').sub('', str(data))</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.logger" href="index.html">src.logger</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-classes">Classes</a></h3> | ||||
| <ul> | ||||
| <li> | ||||
| <h4><code><a title="src.logger.colors.Colors" href="#src.logger.colors.Colors">Colors</a></code></h4> | ||||
| <ul class="two-column"> | ||||
| <li><code><a title="src.logger.colors.Colors.bg" href="#src.logger.colors.Colors.bg">bg</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.bold" href="#src.logger.colors.Colors.bold">bold</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.disable" href="#src.logger.colors.Colors.disable">disable</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.fg" href="#src.logger.colors.Colors.fg">fg</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.filter" href="#src.logger.colors.Colors.filter">filter</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.invisible" href="#src.logger.colors.Colors.invisible">invisible</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.italics" href="#src.logger.colors.Colors.italics">italics</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.reset" href="#src.logger.colors.Colors.reset">reset</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.reverse" href="#src.logger.colors.Colors.reverse">reverse</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.strikethrough" href="#src.logger.colors.Colors.strikethrough">strikethrough</a></code></li> | ||||
| <li><code><a title="src.logger.colors.Colors.underline" href="#src.logger.colors.Colors.underline">underline</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										167
									
								
								docs/html/src/logger/confirm.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								docs/html/src/logger/confirm.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,167 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.logger.confirm API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.logger.confirm</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>confirm y/n cli prompt</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">''' | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     confirm y/n cli prompt | ||||
| ''' | ||||
| ''' | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| ''' | ||||
| import sys | ||||
| from . import colors, settings | ||||
| colors = colors.Colors | ||||
| def confirm(default = 'y', message = 'Are you sure %s? '): | ||||
|     ''' | ||||
|         Displays an "Are you sure" message, returns True for Y and False for N | ||||
|         message: The confirmation message, use %s for (y/n) | ||||
|         default: which to prefer-- y or n | ||||
|     ''' | ||||
| 
 | ||||
|     color = colors.fg.green + colors.bold | ||||
| 
 | ||||
|     default = default.lower() | ||||
|     confirm = colors.bold | ||||
|     if default.startswith('y'): | ||||
|         confirm += '(Y/n)' | ||||
|     else: | ||||
|         confirm += '(y/N)' | ||||
|     confirm += colors.reset + color | ||||
| 
 | ||||
|     output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset | ||||
| 
 | ||||
|     if not get_settings() & settings.USE_ANSI: | ||||
|         output = colors.filter(output) | ||||
| 
 | ||||
|     sys.stdout.write(output.replace('%s', confirm)) | ||||
| 
 | ||||
|     inp = input().lower() | ||||
| 
 | ||||
|     if 'y' in inp: | ||||
|         return True | ||||
|     if 'n' in inp: | ||||
|         return False | ||||
|     else: | ||||
|         return default == 'y'</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-functions">Functions</h2> | ||||
| <dl> | ||||
| <dt id="src.logger.confirm.confirm"><code class="name flex"> | ||||
| <span>def <span class="ident">confirm</span></span>(<span>default='y', message='Are you sure %s? ')</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Displays an "Are you sure" message, returns True for Y and False for N | ||||
| message: The confirmation message, use %s for (y/n) | ||||
| default: which to prefer– y or n</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def confirm(default = 'y', message = 'Are you sure %s? '): | ||||
|     ''' | ||||
|         Displays an "Are you sure" message, returns True for Y and False for N | ||||
|         message: The confirmation message, use %s for (y/n) | ||||
|         default: which to prefer-- y or n | ||||
|     ''' | ||||
| 
 | ||||
|     color = colors.fg.green + colors.bold | ||||
| 
 | ||||
|     default = default.lower() | ||||
|     confirm = colors.bold | ||||
|     if default.startswith('y'): | ||||
|         confirm += '(Y/n)' | ||||
|     else: | ||||
|         confirm += '(y/N)' | ||||
|     confirm += colors.reset + color | ||||
| 
 | ||||
|     output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset | ||||
| 
 | ||||
|     if not get_settings() & settings.USE_ANSI: | ||||
|         output = colors.filter(output) | ||||
| 
 | ||||
|     sys.stdout.write(output.replace('%s', confirm)) | ||||
| 
 | ||||
|     inp = input().lower() | ||||
| 
 | ||||
|     if 'y' in inp: | ||||
|         return True | ||||
|     if 'n' in inp: | ||||
|         return False | ||||
|     else: | ||||
|         return default == 'y'</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.logger" href="index.html">src.logger</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-functions">Functions</a></h3> | ||||
| <ul class=""> | ||||
| <li><code><a title="src.logger.confirm.confirm" href="#src.logger.confirm.confirm">confirm</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										278
									
								
								docs/html/src/logger/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										278
									
								
								docs/html/src/logger/index.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,278 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.logger API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.logger</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>This file handles all operations involving logging</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">''' | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     This file handles all operations involving logging | ||||
| ''' | ||||
| ''' | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| ''' | ||||
| 
 | ||||
| import sys, traceback | ||||
| 
 | ||||
| from . import colors, readline, log, raw, confirm, colors, settings | ||||
| colors = colors.Colors | ||||
| readline = readline.readline | ||||
| log = log.log | ||||
| raw = raw.raw | ||||
| confirm = confirm.confirm | ||||
| 
 | ||||
| # debug: when there is info that could be useful for debugging purposes only | ||||
| def debug(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_DEBUG): | ||||
|     if settings.get_level() <= level: | ||||
|         log('/', data, timestamp = timestamp, prompt = prompt, terminal = terminal) | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error()) | ||||
| 
 | ||||
| # info: when there is something to notify the user of, such as the success of a process | ||||
| def info(data: str, timestamp = False, prompt = True, terminal = False, level = settings.LEVEL_INFO): | ||||
|     if settings.get_level() <= level: | ||||
|         log('+', data, colors.fg.green, timestamp = timestamp, prompt = prompt, terminal = terminal) | ||||
| 
 | ||||
| # warn: when there is a potential for something bad to happen | ||||
| def warn(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_WARN): | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error()) | ||||
|     if settings.get_level() <= level: | ||||
|         log('!', data, colors.fg.orange, timestamp = timestamp, prompt = prompt, terminal = terminal) | ||||
| 
 | ||||
| # error: when only one function, module, or process of the program encountered a problem and must stop | ||||
| def error(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_ERROR): | ||||
|     if settings.get_level() <= level: | ||||
|         log('-', data, colors.fg.red, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal) | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error()) | ||||
| 
 | ||||
| # fatal: when the something so bad has happened that the program must stop | ||||
| def fatal(data: str, error = None, timestamp=True, prompt = True, terminal = False, level = settings.LEVEL_FATAL): | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error(), terminal = terminal) | ||||
|     if settings.get_level() <= level: | ||||
|         log('#', data, colors.bg.red + colors.fg.green + colors.bold, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal) | ||||
| 
 | ||||
| # returns a formatted error message | ||||
| def parse_error(): | ||||
|     details = traceback.extract_tb(sys.exc_info()[2]) | ||||
|     output = '' | ||||
| 
 | ||||
|     for line in details: | ||||
|         output += '\n    ... module %s in  %s:%i' % (line[2], line[0], line[1]) | ||||
| 
 | ||||
|     return output</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-submodules">Sub-modules</h2> | ||||
| <dl> | ||||
| <dt><code class="name"><a title="src.logger.colors" href="colors.html">src.logger.colors</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication …</p></section> | ||||
| </dd> | ||||
| <dt><code class="name"><a title="src.logger.confirm" href="confirm.html">src.logger.confirm</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication …</p></section> | ||||
| </dd> | ||||
| <dt><code class="name"><a title="src.logger.log" href="log.html">src.logger.log</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication …</p></section> | ||||
| </dd> | ||||
| <dt><code class="name"><a title="src.logger.raw" href="raw.html">src.logger.raw</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication …</p></section> | ||||
| </dd> | ||||
| <dt><code class="name"><a title="src.logger.readline" href="readline.html">src.logger.readline</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication …</p></section> | ||||
| </dd> | ||||
| <dt><code class="name"><a title="src.logger.settings" href="settings.html">src.logger.settings</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication …</p></section> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-functions">Functions</h2> | ||||
| <dl> | ||||
| <dt id="src.logger.debug"><code class="name flex"> | ||||
| <span>def <span class="ident">debug</span></span>(<span>data, error=None, timestamp=True, prompt=True, terminal=False, level=1)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def debug(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_DEBUG): | ||||
|     if settings.get_level() <= level: | ||||
|         log('/', data, timestamp = timestamp, prompt = prompt, terminal = terminal) | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error())</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.error"><code class="name flex"> | ||||
| <span>def <span class="ident">error</span></span>(<span>data, error=None, timestamp=True, prompt=True, terminal=False, level=4)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def error(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_ERROR): | ||||
|     if settings.get_level() <= level: | ||||
|         log('-', data, colors.fg.red, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal) | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error())</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.fatal"><code class="name flex"> | ||||
| <span>def <span class="ident">fatal</span></span>(<span>data, error=None, timestamp=True, prompt=True, terminal=False, level=5)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def fatal(data: str, error = None, timestamp=True, prompt = True, terminal = False, level = settings.LEVEL_FATAL): | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error(), terminal = terminal) | ||||
|     if settings.get_level() <= level: | ||||
|         log('#', data, colors.bg.red + colors.fg.green + colors.bold, timestamp = timestamp, fd = sys.stderr, prompt = prompt, terminal = terminal)</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.info"><code class="name flex"> | ||||
| <span>def <span class="ident">info</span></span>(<span>data, timestamp=False, prompt=True, terminal=False, level=2)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def info(data: str, timestamp = False, prompt = True, terminal = False, level = settings.LEVEL_INFO): | ||||
|     if settings.get_level() <= level: | ||||
|         log('+', data, colors.fg.green, timestamp = timestamp, prompt = prompt, terminal = terminal)</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.parse_error"><code class="name flex"> | ||||
| <span>def <span class="ident">parse_error</span></span>(<span>)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def parse_error(): | ||||
|     details = traceback.extract_tb(sys.exc_info()[2]) | ||||
|     output = '' | ||||
| 
 | ||||
|     for line in details: | ||||
|         output += '\n    ... module %s in  %s:%i' % (line[2], line[0], line[1]) | ||||
| 
 | ||||
|     return output</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.warn"><code class="name flex"> | ||||
| <span>def <span class="ident">warn</span></span>(<span>data, error=None, timestamp=True, prompt=True, terminal=False, level=3)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def warn(data: str, error = None, timestamp = True, prompt = True, terminal = False, level = settings.LEVEL_WARN): | ||||
|     if not error is None: | ||||
|         debug('Error: ' + str(error) + parse_error()) | ||||
|     if settings.get_level() <= level: | ||||
|         log('!', data, colors.fg.orange, timestamp = timestamp, prompt = prompt, terminal = terminal)</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src" href="../index.html">src</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-submodules">Sub-modules</a></h3> | ||||
| <ul> | ||||
| <li><code><a title="src.logger.colors" href="colors.html">src.logger.colors</a></code></li> | ||||
| <li><code><a title="src.logger.confirm" href="confirm.html">src.logger.confirm</a></code></li> | ||||
| <li><code><a title="src.logger.log" href="log.html">src.logger.log</a></code></li> | ||||
| <li><code><a title="src.logger.raw" href="raw.html">src.logger.raw</a></code></li> | ||||
| <li><code><a title="src.logger.readline" href="readline.html">src.logger.readline</a></code></li> | ||||
| <li><code><a title="src.logger.settings" href="settings.html">src.logger.settings</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-functions">Functions</a></h3> | ||||
| <ul class="two-column"> | ||||
| <li><code><a title="src.logger.debug" href="#src.logger.debug">debug</a></code></li> | ||||
| <li><code><a title="src.logger.error" href="#src.logger.error">error</a></code></li> | ||||
| <li><code><a title="src.logger.fatal" href="#src.logger.fatal">fatal</a></code></li> | ||||
| <li><code><a title="src.logger.info" href="#src.logger.info">info</a></code></li> | ||||
| <li><code><a title="src.logger.parse_error" href="#src.logger.parse_error">parse_error</a></code></li> | ||||
| <li><code><a title="src.logger.warn" href="#src.logger.warn">warn</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										138
									
								
								docs/html/src/logger/log.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								docs/html/src/logger/log.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,138 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.logger.log API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.logger.log</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>god log function</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">''' | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     god log function | ||||
| ''' | ||||
| ''' | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| ''' | ||||
| import sys, time | ||||
| from . import colors, raw, settings | ||||
| colors = colors.Colors | ||||
| def log(prefix, data, color = '', timestamp=True, fd = sys.stdout, prompt = True, terminal = False): | ||||
|     ''' | ||||
|         Logs the data | ||||
|         prefix : The prefix to the output | ||||
|         data   : The actual data to output | ||||
|         color  : The color to output before the data | ||||
|     ''' | ||||
|     curTime = '' | ||||
|     if timestamp: | ||||
|         curTime = time.strftime("%m-%d %H:%M:%S") + ' ' | ||||
| 
 | ||||
|     output = colors.reset + str(color) + ('[' + colors.bold + str(prefix) + colors.reset + str(color) + '] ' if prompt is True else '') + curTime + str(data) + colors.reset | ||||
|     if not settings.get_settings() & settings.USE_ANSI: | ||||
|         output = colors.filter(output) | ||||
| 
 | ||||
|     raw.raw(output, fd = fd, terminal = terminal)</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-functions">Functions</h2> | ||||
| <dl> | ||||
| <dt id="src.logger.log.log"><code class="name flex"> | ||||
| <span>def <span class="ident">log</span></span>(<span>prefix, data, color='', timestamp=True, fd=sys.stdout, prompt=True, terminal=False)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Logs the data | ||||
| prefix : The prefix to the output | ||||
| data | ||||
| : The actual data to output | ||||
| color | ||||
| : The color to output before the data</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def log(prefix, data, color = '', timestamp=True, fd = sys.stdout, prompt = True, terminal = False): | ||||
|     ''' | ||||
|         Logs the data | ||||
|         prefix : The prefix to the output | ||||
|         data   : The actual data to output | ||||
|         color  : The color to output before the data | ||||
|     ''' | ||||
|     curTime = '' | ||||
|     if timestamp: | ||||
|         curTime = time.strftime("%m-%d %H:%M:%S") + ' ' | ||||
| 
 | ||||
|     output = colors.reset + str(color) + ('[' + colors.bold + str(prefix) + colors.reset + str(color) + '] ' if prompt is True else '') + curTime + str(data) + colors.reset | ||||
|     if not settings.get_settings() & settings.USE_ANSI: | ||||
|         output = colors.filter(output) | ||||
| 
 | ||||
|     raw.raw(output, fd = fd, terminal = terminal)</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.logger" href="index.html">src.logger</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-functions">Functions</a></h3> | ||||
| <ul class=""> | ||||
| <li><code><a title="src.logger.log.log" href="#src.logger.log.log">log</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										149
									
								
								docs/html/src/logger/raw.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										149
									
								
								docs/html/src/logger/raw.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,149 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.logger.raw API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.logger.raw</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>Output raw data to file or terminal</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">''' | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     Output raw data to file or terminal | ||||
| ''' | ||||
| ''' | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| ''' | ||||
| import sys, os | ||||
| from . import settings, colors | ||||
| colors = colors.Colors | ||||
| def raw(data, fd = sys.stdout, terminal = False): | ||||
|     ''' | ||||
|         Outputs raw data to console without formatting | ||||
|     ''' | ||||
| 
 | ||||
|     if terminal and (settings.get_settings() & settings.OUTPUT_TO_CONSOLE): | ||||
|         try: | ||||
|             ts = fd.write('%s\n' % data) | ||||
|         except OSError: | ||||
|             pass | ||||
|     if settings.get_settings() & settings.OUTPUT_TO_FILE: | ||||
|         fdata = '' | ||||
|         try: | ||||
|             with open(settings._outputfile, 'r') as file: | ||||
|                 fdata = file.read() | ||||
|         except FileNotFoundError: | ||||
|             pass | ||||
|         fdata = fdata + '\n' + data | ||||
|         fdata = fdata.split('\n') | ||||
|         if len(fdata) >= settings.MAX_LOG_FILE_LINES: | ||||
|             fdata.pop(0) | ||||
|         fdata = '\n'.join(fdata) | ||||
|         with open(settings._outputfile, 'w') as file: | ||||
|             file.write(fdata)</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-functions">Functions</h2> | ||||
| <dl> | ||||
| <dt id="src.logger.raw.raw"><code class="name flex"> | ||||
| <span>def <span class="ident">raw</span></span>(<span>data, fd=sys.stdout, terminal=False)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Outputs raw data to console without formatting</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def raw(data, fd = sys.stdout, terminal = False): | ||||
|     ''' | ||||
|         Outputs raw data to console without formatting | ||||
|     ''' | ||||
| 
 | ||||
|     if terminal and (settings.get_settings() & settings.OUTPUT_TO_CONSOLE): | ||||
|         try: | ||||
|             ts = fd.write('%s\n' % data) | ||||
|         except OSError: | ||||
|             pass | ||||
|     if settings.get_settings() & settings.OUTPUT_TO_FILE: | ||||
|         fdata = '' | ||||
|         try: | ||||
|             with open(settings._outputfile, 'r') as file: | ||||
|                 fdata = file.read() | ||||
|         except FileNotFoundError: | ||||
|             pass | ||||
|         fdata = fdata + '\n' + data | ||||
|         fdata = fdata.split('\n') | ||||
|         if len(fdata) >= settings.MAX_LOG_FILE_LINES: | ||||
|             fdata.pop(0) | ||||
|         fdata = '\n'.join(fdata) | ||||
|         with open(settings._outputfile, 'w') as file: | ||||
|             file.write(fdata)</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.logger" href="index.html">src.logger</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-functions">Functions</a></h3> | ||||
| <ul class=""> | ||||
| <li><code><a title="src.logger.raw.raw" href="#src.logger.raw.raw">raw</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										132
									
								
								docs/html/src/logger/readline.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								docs/html/src/logger/readline.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,132 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.logger.readline API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.logger.readline</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>get a line of input from stdin</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">''' | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     get a line of input from stdin | ||||
| ''' | ||||
| ''' | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| ''' | ||||
| import sys | ||||
| from . import colors, settings | ||||
| colors = colors.Colors | ||||
| def readline(message = ''): | ||||
|     ''' | ||||
|         Takes in input from the console, not stored in logs | ||||
|         message: The message to display before taking input | ||||
|     ''' | ||||
| 
 | ||||
|     color = colors.fg.green + colors.bold | ||||
|     output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset | ||||
| 
 | ||||
|     if not settings.get_settings() & settings.USE_ANSI: | ||||
|         output = colors.filter(output) | ||||
| 
 | ||||
|     sys.stdout.write(output) | ||||
| 
 | ||||
|     return input()</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-functions">Functions</h2> | ||||
| <dl> | ||||
| <dt id="src.logger.readline.readline"><code class="name flex"> | ||||
| <span>def <span class="ident">readline</span></span>(<span>message='')</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Takes in input from the console, not stored in logs | ||||
| message: The message to display before taking input</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def readline(message = ''): | ||||
|     ''' | ||||
|         Takes in input from the console, not stored in logs | ||||
|         message: The message to display before taking input | ||||
|     ''' | ||||
| 
 | ||||
|     color = colors.fg.green + colors.bold | ||||
|     output = colors.reset + str(color) + '... ' + colors.reset + str(message) + colors.reset | ||||
| 
 | ||||
|     if not settings.get_settings() & settings.USE_ANSI: | ||||
|         output = colors.filter(output) | ||||
| 
 | ||||
|     sys.stdout.write(output) | ||||
| 
 | ||||
|     return input()</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.logger" href="index.html">src.logger</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-functions">Functions</a></h3> | ||||
| <ul class=""> | ||||
| <li><code><a title="src.logger.readline.readline" href="#src.logger.readline.readline">readline</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										265
									
								
								docs/html/src/logger/settings.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										265
									
								
								docs/html/src/logger/settings.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,265 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.logger.settings API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.logger.settings</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>logger settings</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">''' | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     logger settings | ||||
| ''' | ||||
| ''' | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| ''' | ||||
| import os | ||||
| from utils import identifyhome | ||||
| 
 | ||||
| data_home = os.environ.get('ONIONR_LOG_DIR', identifyhome.identify_home()) | ||||
| # Use the bitwise operators to merge these settings | ||||
| USE_ANSI = 0b100 | ||||
| if os.name == 'nt': | ||||
|     USE_ANSI = 0b000 | ||||
| OUTPUT_TO_CONSOLE = 0b010 | ||||
| OUTPUT_TO_FILE = 0b001 | ||||
| 
 | ||||
| LEVEL_DEBUG = 1 | ||||
| LEVEL_INFO = 2 | ||||
| LEVEL_WARN = 3 | ||||
| LEVEL_ERROR = 4 | ||||
| LEVEL_FATAL = 5 | ||||
| LEVEL_IMPORTANT = 6 | ||||
| 
 | ||||
| MAX_LOG_FILE_LINES = 10000 | ||||
| 
 | ||||
| _type = OUTPUT_TO_CONSOLE | USE_ANSI # the default settings for logging | ||||
| _level = LEVEL_DEBUG # the lowest level to log | ||||
| _outputfile = '%s/onionr.log' % (data_home,) # the file to log to | ||||
| 
 | ||||
| def set_settings(type): | ||||
|     ''' | ||||
|         Set the settings for the logger using bitwise operators | ||||
|     ''' | ||||
| 
 | ||||
|     global _type | ||||
|     _type = type | ||||
| 
 | ||||
| def get_settings(): | ||||
|     ''' | ||||
|         Get settings from the logger | ||||
|     ''' | ||||
| 
 | ||||
|     return _type | ||||
| 
 | ||||
| def set_level(level): | ||||
|     ''' | ||||
|         Set the lowest log level to output | ||||
|     ''' | ||||
| 
 | ||||
|     global _level | ||||
|     _level = level | ||||
| 
 | ||||
| def get_level()->int: | ||||
|     ''' | ||||
|         Get the lowest log level currently being outputted | ||||
|     ''' | ||||
| 
 | ||||
|     return _level | ||||
| 
 | ||||
| def set_file(outputfile): | ||||
|     ''' | ||||
|         Set the file to output to, if enabled | ||||
|     ''' | ||||
| 
 | ||||
|     global _outputfile | ||||
|     _outputfile = outputfile | ||||
| 
 | ||||
| def get_file(): | ||||
|     ''' | ||||
|         Get the file to output to | ||||
|     ''' | ||||
| 
 | ||||
|     return _outputfile</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-functions">Functions</h2> | ||||
| <dl> | ||||
| <dt id="src.logger.settings.get_file"><code class="name flex"> | ||||
| <span>def <span class="ident">get_file</span></span>(<span>)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Get the file to output to</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def get_file(): | ||||
|     ''' | ||||
|         Get the file to output to | ||||
|     ''' | ||||
| 
 | ||||
|     return _outputfile</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.settings.get_level"><code class="name flex"> | ||||
| <span>def <span class="ident">get_level</span></span>(<span>)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Get the lowest log level currently being outputted</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def get_level()->int: | ||||
|     ''' | ||||
|         Get the lowest log level currently being outputted | ||||
|     ''' | ||||
| 
 | ||||
|     return _level</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.settings.get_settings"><code class="name flex"> | ||||
| <span>def <span class="ident">get_settings</span></span>(<span>)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Get settings from the logger</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def get_settings(): | ||||
|     ''' | ||||
|         Get settings from the logger | ||||
|     ''' | ||||
| 
 | ||||
|     return _type</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.settings.set_file"><code class="name flex"> | ||||
| <span>def <span class="ident">set_file</span></span>(<span>outputfile)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Set the file to output to, if enabled</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def set_file(outputfile): | ||||
|     ''' | ||||
|         Set the file to output to, if enabled | ||||
|     ''' | ||||
| 
 | ||||
|     global _outputfile | ||||
|     _outputfile = outputfile</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.settings.set_level"><code class="name flex"> | ||||
| <span>def <span class="ident">set_level</span></span>(<span>level)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Set the lowest log level to output</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def set_level(level): | ||||
|     ''' | ||||
|         Set the lowest log level to output | ||||
|     ''' | ||||
| 
 | ||||
|     global _level | ||||
|     _level = level</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.logger.settings.set_settings"><code class="name flex"> | ||||
| <span>def <span class="ident">set_settings</span></span>(<span>type)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Set the settings for the logger using bitwise operators</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def set_settings(type): | ||||
|     ''' | ||||
|         Set the settings for the logger using bitwise operators | ||||
|     ''' | ||||
| 
 | ||||
|     global _type | ||||
|     _type = type</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.logger" href="index.html">src.logger</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-functions">Functions</a></h3> | ||||
| <ul class="two-column"> | ||||
| <li><code><a title="src.logger.settings.get_file" href="#src.logger.settings.get_file">get_file</a></code></li> | ||||
| <li><code><a title="src.logger.settings.get_level" href="#src.logger.settings.get_level">get_level</a></code></li> | ||||
| <li><code><a title="src.logger.settings.get_settings" href="#src.logger.settings.get_settings">get_settings</a></code></li> | ||||
| <li><code><a title="src.logger.settings.set_file" href="#src.logger.settings.set_file">set_file</a></code></li> | ||||
| <li><code><a title="src.logger.settings.set_level" href="#src.logger.settings.set_level">set_level</a></code></li> | ||||
| <li><code><a title="src.logger.settings.set_settings" href="#src.logger.settings.set_settings">set_settings</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue