38 Commits

Author SHA1 Message Date
c7e2f8609c Merge pull request '2022.10.3 - Removed duplicated schematic name in generate command #92' (#111) from 2022.10.3 into 2022.10
Reviewed-on: #111
Closes #92
2022-09-17 12:12:52 +02:00
9d2321cc9c Merge branch '2022.10' into 2022.10.3 2022-09-17 12:12:40 +02:00
61d9912950 Removed duplicated schematic name in generate command #92 2022-09-17 12:09:05 +02:00
f23d32a92a Merge pull request '2022.10.4 - Removed async from startup functions (#94)' (#110) from 2022.10.4 into 2022.10
Reviewed-on: #110
Closes #94
2022-09-17 11:59:38 +02:00
dc489cbf7a Removed async from startup functions 2022-09-17 11:58:43 +02:00
41d24aae99 Merge pull request '2022.10.6 - Added error message when logging configuration not exists (#95)' (#109) from 2022.10.6 into 2022.10
Reviewed-on: #109
Closes #95
2022-09-17 11:40:46 +02:00
6b50bba139 Merge branch '2022.10' into 2022.10.6 2022-09-17 11:40:30 +02:00
139422fd32 Added error message when logging configuration not exists 2022-09-17 11:39:19 +02:00
409e11df42 Merge pull request '2022.10.5 Improved version command & fixed unittests (#97)' (#107) from 2022.10.5 into 2022.10
Reviewed-on: #107
Closes #97
2022-09-16 10:43:17 +02:00
f3a11f9791 Improved version command & fixed unittests 2022-09-15 19:16:52 +02:00
8dcc5b4011 Merge pull request '2022.10.9 - Enumerable & List (#105)' (#106) from 2022.10.9 into 2022.10
Reviewed-on: #106
Closes #105
2022-09-15 18:21:25 +02:00
d0f65834f1 Added performance test case 2022-09-15 18:14:40 +02:00
47ed0a705d Improved query 2022-09-15 17:00:22 +02:00
ae3192b63c Removed SequenceABC 2022-09-15 12:48:05 +02:00
bb461f5fba Improved query 2022-09-15 00:30:44 +02:00
52069b7bb3 Improved Sequences 2022-09-14 23:01:52 +02:00
f0ed0bd2e1 Added sequence converters 2022-09-14 13:23:23 +02:00
e868a120f0 Build cpl-query 2022-09-13 19:38:16 +02:00
70652aeb4c Changed structure of cpl-query 2022-09-13 19:33:26 +02:00
28adcc4e49 Implemented enumerable 2022-09-13 12:07:04 +02:00
affbb1ee7b Merge pull request '2022.10.8 - Moved query functions to static query class (#102)' (#104) from 2022.10.8 into 2022.10
Reviewed-on: #104
Closes #102
2022-09-12 22:55:14 +02:00
d8a4210c9b Moved query functions to static query class 2022-09-12 22:53:52 +02:00
b16d555e33 Merge pull request '2022.10.2 - Code refactoring' (#103) from 2022.10.2 into 2022.10
Reviewed-on: #103
2022-09-12 22:31:04 +02:00
4380142ccd Merge branch '2022.10' into 2022.10.2 2022-09-12 22:30:41 +02:00
91f2d6cb21 Code refactoring 2022-09-12 22:29:46 +02:00
249b071ee9 Merge pull request '2022.10.2' (#101) from 2022.10.2 into 2022.10
Reviewed-on: #101
2022-09-12 22:29:22 +02:00
53fe437100 Added more data containers 2022-09-12 22:18:54 +02:00
fc63f3616e Added tests for select & select many 2022-09-12 18:07:37 +02:00
a528511732 Added tests for select & select many 2022-09-12 17:58:48 +02:00
dbe1d37046 Build version 2022-09-11 22:02:10 +02:00
988965ed52 Improved cpl-query & added first types from discord 2022-09-11 21:57:27 +02:00
3c5ca594d5 Merge pull request '2022.10.1' (#100) from 2022.10.1 into 2022.10
Reviewed-on: #100
2022-09-11 19:30:39 +02:00
452b30c899 Build version 2022-09-11 19:30:19 +02:00
85c5b26fdf Added slash command support 2022-09-11 10:21:28 +02:00
92ed684866 First migrations 2022-09-10 10:27:31 +02:00
88e83db330 Improved scope handling 2022-07-31 13:32:02 +02:00
55609fc691 Renamed sh_cpl to cpl in docs 2022-07-31 11:33:45 +02:00
e0d89f967f Improved docs 2022-07-31 11:30:05 +02:00
181 changed files with 2816 additions and 1069 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -4,6 +4,7 @@
- [Description](#description)
- [Arguments](#arguments)
- [Flags](#flags)
Removes a project from workspace.

View File

@@ -1,9 +1,9 @@
# cpl help
<!-- ## Contents
## Contents
- [Description](#description) -->
<!-- - [Arguments](#arguments) -->
- [Description](#description)
- [Arguments](#arguments)
Lists available command and their short descriptions.

View File

@@ -10,6 +10,72 @@ The Common Python Library (CPL) is a package for python and a development platfo
This CPL docs help you learn, understand and use the package. From your first application to complex apps for enterprises.
Features
--------
- cpl-core
- Expandle
- Application base
- Standardized application classes
- Application object builder
- Application extension classes
- Startup classes
- Startup extension classes
- Configuration
- Configure via object mapped JSON
- Console argument handling
- Console class for in and output
- Banner
- Spinner
- Options (menu)
- Table
- Write
- Write_at
- Write_line
- Write_line_at
- Dependency injection
- Service lifetimes: singleton, scoped and transient
- Providing of application environment
- Environment (development, staging, testing, production)
- Appname
- Customer
- Hostname
- Runtime directory
- Working directory
- Logging
- Standardized logger
- Log-level (FATAL, ERROR, WARN, INFO, DEBUG & TRACE)
- Mail handling
- Send mails
- Pipe classes
- Convert input
- Utils
- Credential manager
- Encryption via BASE64
- PIP wrapper class based on subprocess
- Run pip commands
- String converter to different variants
- to_lower_case
- to_camel_case
- ...
- cpl-cli
- Expandle
- Code generation
- Package managing
- Build & Publishing
- cpl-discord
- Utils for discord.py
- Connector between cpl-core and discord.py
- Prepared services for dependency injection
- cpl-query
- Python list extensions
- Functions for sorting and filtering
- Like linq from C# but in python xD
- cpl-translate
- Generic translations
- Prepared translation service and translate pipe
- Get translation from JSON files key dot.key notation
Manuals
---------
@@ -20,6 +86,7 @@ These pages go into great detail about everything the Library can do.
introduction
getting_started
contributing
cpl_cli
cpl_core
cpl_query

View File

@@ -7,4 +7,6 @@ cpl
getting_started
cpl_cli
cpl_core
cpl_discord
cpl_query
cpl_translate

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">cpl add</a><ul>
@@ -99,6 +100,7 @@
<ul class="simple">
<li><p><span class="xref myst">Description</span></p></li>
<li><p><span class="xref myst">Arguments</span></p></li>
<li><p><span class="xref myst">Flags</span></p></li>
</ul>
<p>Removes a project from workspace.</p>
<p>cpl <strong>add</strong> <em>&lt;source-project&gt;</em> <em>&lt;target-project&gt;</em> <br>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,12 +41,14 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.build.html">cpl build</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.generate.html">cpl generate</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">cpl help</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#contents">Contents</a></li>
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
<li class="toctree-l3"><a class="reference internal" href="#arguments">Arguments</a></li>
</ul>
@@ -92,14 +94,17 @@
<section id="cpl-help">
<h1>cpl help<a class="headerlink" href="#cpl-help" title="Permalink to this heading"></a></h1>
<!-- ## Contents
- [Description](#description) -->
<!-- - [Arguments](#arguments) -->
<section id="contents">
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p><span class="xref myst">Description</span></p></li>
<li><p><span class="xref myst">Arguments</span></p></li>
</ul>
<p>Lists available command and their short descriptions.</p>
<p>cpl <strong>help</strong> <em>&lt;command&gt;</em> <br>
cpl <strong>h</strong> <em>&lt;command&gt;</em> <br>
cpl <strong>H</strong> <em>&lt;command&gt;</em></p>
</section>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>Lists available command and their short descriptions.</p>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">CLI Overview and Command Reference</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#table-of-contents">Table of Contents</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_cli.html">CLI Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>

View File

@@ -18,7 +18,9 @@
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="CLI Reference" href="cpl_cli.html" />
<link rel="prev" title="Send mails" href="tutorials.mail.html" />
</head>
<body class="wy-body-for-nav">
@@ -36,9 +38,25 @@
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributing to CPL</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#found-a-bug">Found a Bug?</a></li>
<li class="toctree-l2"><a class="reference internal" href="#feature-request">Feature Request</a></li>
<li class="toctree-l2"><a class="reference internal" href="#submission-guidelines">Submission Guidelines</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#submitting-an-issue">Submitting an Issue</a></li>
<li class="toctree-l3"><a class="reference internal" href="#submitting-a-pull-request">Submitting a Pull Request</a></li>
<li class="toctree-l3"><a class="reference internal" href="#reviewing-a-pull-request">Reviewing a Pull Request</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#addressing-review-feedback">Addressing review feedback</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#coding-rules">Coding Rules</a></li>
<li class="toctree-l2"><a class="reference internal" href="#license">License</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>
@@ -168,7 +186,10 @@ See <a class="reference external" href="https://git.sh-edraft.de/sh-edraft.de/sh
</div>
</div>
<footer>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="tutorials.mail.html" class="btn btn-neutral float-left" title="Send mails" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="cpl_cli.html" class="btn btn-neutral float-right" title="CLI Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>

View File

@@ -20,7 +20,7 @@
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="CLI Overview and Command Reference" href="cli.overview.html" />
<link rel="prev" title="Send mails" href="tutorials.mail.html" />
<link rel="prev" title="Contributing to CPL" href="contributing.html" />
</head>
<body class="wy-body-for-nav">
@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">CLI Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="cli.overview.html">CLI Overview and Command Reference</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.add.html">cpl add</a></li>
@@ -120,6 +121,7 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="cli.help.html">cpl help</a><ul>
<li class="toctree-l2"><a class="reference internal" href="cli.help.html#contents">Contents</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.help.html#description">Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="cli.help.html#arguments">Arguments</a></li>
</ul>
@@ -171,7 +173,7 @@
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="tutorials.mail.html" class="btn btn-neutral float-left" title="Send mails" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="contributing.html" class="btn btn-neutral float-left" title="Contributing to CPL" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="cli.overview.html" class="btn btn-neutral float-right" title="CLI Overview and Command Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">cpl_core.application</a><ul>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>
@@ -162,7 +163,7 @@
<dl class="py property">
<dt class="sig sig-object py" id="cpl_core.database.context.database_context_abc.DatabaseContextABC.cursor">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">cursor</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">MySQLCursorBuffered</span></em><a class="headerlink" href="#cpl_core.database.context.database_context_abc.DatabaseContextABC.cursor" title="Permalink to this definition"></a></dt>
<em class="property"><span class="pre">abstract</span><span class="w"> </span><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">cursor</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">MySQLCursorBuffered</span></em><a class="headerlink" href="#cpl_core.database.context.database_context_abc.DatabaseContextABC.cursor" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>
@@ -158,6 +159,11 @@
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">password</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#cpl_core.database.database_settings.DatabaseSettings.password" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="cpl_core.database.database_settings.DatabaseSettings.port">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">port</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#cpl_core.database.database_settings.DatabaseSettings.port" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="cpl_core.database.database_settings.DatabaseSettings.use_unicode">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">use_unicode</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">bool</span><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#cpl_core.database.database_settings.DatabaseSettings.use_unicode" title="Permalink to this definition"></a></dt>
@@ -208,6 +214,11 @@
<span class="sig-name descname"><span class="pre">password</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Password'</span></em><a class="headerlink" href="#cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum.password" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum.port">
<span class="sig-name descname"><span class="pre">port</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Port'</span></em><a class="headerlink" href="#cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum.port" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum.use_unicode">
<span class="sig-name descname"><span class="pre">use_unicode</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'UseUnicode'</span></em><a class="headerlink" href="#cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum.use_unicode" title="Permalink to this definition"></a></dt>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>
@@ -207,6 +208,12 @@
</div></blockquote>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_discord">
<span class="sig-name descname"><span class="pre">add_discord</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_discord" title="Permalink to this definition"></a></dt>
<dd><p>Adds the CPL discord</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_logging">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">add_logging</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_logging" title="Permalink to this definition"></a></dt>
@@ -270,6 +277,12 @@
</div></blockquote>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_translation">
<span class="sig-name descname"><span class="pre">add_translation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_translation" title="Permalink to this definition"></a></dt>
<dd><p>Adds the CPL translation</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.build_service_provider">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">build_service_provider</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference internal" href="#cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC" title="cpl_core.dependency_injection.service_provider_abc.ServiceProviderABC"><span class="pre">ServiceProviderABC</span></a></span></span><a class="headerlink" href="#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.build_service_provider" title="Permalink to this definition"></a></dt>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">API Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_core.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="cpl_core.application.html">cpl_core.application</a></li>

View File

@@ -40,6 +40,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_query.html">Query Reference</a><ul class="current">

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="cpl_query.html">Query Reference</a><ul class="current">

View File

@@ -41,6 +41,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Query Reference</a><ul>

View File

@@ -38,6 +38,7 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>
@@ -114,6 +115,8 @@
<li><a href="cpl_core.dependency_injection.html#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_db_context">(cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC method)</a>
</li>
</ul></li>
<li><a href="cpl_core.dependency_injection.html#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_discord">add_discord() (cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC method)</a>
</li>
<li><a href="cpl_core.configuration.html#cpl_core.configuration.configuration.Configuration.add_environment_variables">add_environment_variables() (cpl_core.configuration.configuration.Configuration method)</a>
<ul>
@@ -160,14 +163,16 @@
<li><a href="cpl_core.dependency_injection.html#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_transient">(cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC method)</a>
</li>
</ul></li>
<li><a href="cpl_core.dependency_injection.html#cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC.add_translation">add_translation() (cpl_core.dependency_injection.service_collection_abc.ServiceCollectionABC method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="cpl_core.configuration.html#cpl_core.configuration.configuration.Configuration.additional_arguments">additional_arguments (cpl_core.configuration.configuration.Configuration property)</a>
<ul>
<li><a href="cpl_core.configuration.html#cpl_core.configuration.configuration_abc.ConfigurationABC.additional_arguments">(cpl_core.configuration.configuration_abc.ConfigurationABC property)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="cpl_query.extension.html#cpl_query.extension.iterable.Iterable.all">all() (cpl_query.extension.iterable.Iterable method)</a>
<ul>
@@ -1401,9 +1406,13 @@
</li>
<li><a href="cpl_core.pipes.html#cpl_core.pipes.pipe_abc.PipeABC">PipeABC (class in cpl_core.pipes.pipe_abc)</a>
</li>
<li><a href="cpl_core.mailing.html#cpl_core.mailing.email_client_settings.EMailClientSettings.port">port (cpl_core.mailing.email_client_settings.EMailClientSettings property)</a>
<li><a href="cpl_core.database.html#cpl_core.database.database_settings.DatabaseSettings.port">port (cpl_core.database.database_settings.DatabaseSettings property)</a>
<ul>
<li><a href="cpl_core.database.html#cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum.port">(cpl_core.database.database_settings_name_enum.DatabaseSettingsNameEnum attribute)</a>
</li>
<li><a href="cpl_core.mailing.html#cpl_core.mailing.email_client_settings.EMailClientSettings.port">(cpl_core.mailing.email_client_settings.EMailClientSettings property)</a>
</li>
<li><a href="cpl_core.mailing.html#cpl_core.mailing.email_client_settings_name_enum.EMailClientSettingsNameEnum.port">(cpl_core.mailing.email_client_settings_name_enum.EMailClientSettingsNameEnum attribute)</a>
</li>
</ul></li>

View File

@@ -46,6 +46,7 @@
<li class="toctree-l2"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -40,6 +40,7 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>
@@ -73,6 +74,158 @@
<h1>Introduction to the CPL Docs<a class="headerlink" href="#introduction-to-the-cpl-docs" title="Permalink to this heading"></a></h1>
<p>The Common Python Library (CPL) is a package for python and a development platform meant to help you create simple and efficient server and desktop applications.</p>
<p>This CPL docs help you learn, understand and use the package. From your first application to complex apps for enterprises.</p>
<section id="features">
<h2>Features<a class="headerlink" href="#features" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><dl class="simple">
<dt>cpl-core</dt><dd><ul>
<li><p>Expandle</p></li>
<li><dl class="simple">
<dt>Application base</dt><dd><ul>
<li><p>Standardized application classes</p></li>
<li><p>Application object builder</p></li>
<li><p>Application extension classes</p></li>
<li><p>Startup classes</p></li>
<li><p>Startup extension classes</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Configuration</dt><dd><ul>
<li><p>Configure via object mapped JSON</p></li>
<li><p>Console argument handling</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Console class for in and output</dt><dd><ul>
<li><p>Banner</p></li>
<li><p>Spinner</p></li>
<li><p>Options (menu)</p></li>
<li><p>Table</p></li>
<li><p>Write</p></li>
<li><p>Write_at</p></li>
<li><p>Write_line</p></li>
<li><p>Write_line_at</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Dependency injection</dt><dd><ul>
<li><p>Service lifetimes: singleton, scoped and transient</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Providing of application environment</dt><dd><ul>
<li><p>Environment (development, staging, testing, production)</p></li>
<li><p>Appname</p></li>
<li><p>Customer</p></li>
<li><p>Hostname</p></li>
<li><p>Runtime directory</p></li>
<li><p>Working directory</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Logging</dt><dd><ul>
<li><p>Standardized logger</p></li>
<li><p>Log-level (FATAL, ERROR, WARN, INFO, DEBUG &amp; TRACE)</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Mail handling</dt><dd><ul>
<li><p>Send mails</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Pipe classes</dt><dd><ul>
<li><p>Convert input</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Utils</dt><dd><ul>
<li><dl class="simple">
<dt>Credential manager</dt><dd><ul>
<li><p>Encryption via BASE64</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>PIP wrapper class based on subprocess</dt><dd><ul>
<li><p>Run pip commands</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>String converter to different variants</dt><dd><ul>
<li><p>to_lower_case</p></li>
<li><p>to_camel_case</p></li>
<li><p></p></li>
</ul>
</dd>
</dl>
</li>
</ul>
</dd>
</dl>
</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>cpl-cli</dt><dd><ul>
<li><p>Expandle</p></li>
<li><p>Code generation</p></li>
<li><p>Package managing</p></li>
<li><p>Build &amp; Publishing</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>cpl-discord</dt><dd><ul>
<li><p>Utils for discord.py</p></li>
<li><p>Connector between cpl-core and discord.py</p></li>
<li><p>Prepared services for dependency injection</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>cpl-query</dt><dd><ul>
<li><p>Python list extensions</p></li>
<li><p>Functions for sorting and filtering</p></li>
<li><p>Like linq from C# but in python xD</p></li>
</ul>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>cpl-translate</dt><dd><ul>
<li><p>Generic translations</p></li>
<li><p>Prepared translation service and translate pipe</p></li>
<li><p>Get translation from JSON files key dot.key notation</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
</section>
<section id="manuals">
<h2>Manuals<a class="headerlink" href="#manuals" title="Permalink to this heading"></a></h2>
<p>These pages go into great detail about everything the Library can do.</p>
@@ -80,6 +233,7 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -45,6 +45,7 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -39,6 +39,7 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>
@@ -162,6 +163,7 @@
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="cli.help.html">cpl help</a><ul>
<li class="toctree-l3"><a class="reference internal" href="cli.help.html#contents">Contents</a></li>
<li class="toctree-l3"><a class="reference internal" href="cli.help.html#description">Description</a></li>
<li class="toctree-l3"><a class="reference internal" href="cli.help.html#arguments">Arguments</a></li>
</ul>

Binary file not shown.

View File

@@ -41,6 +41,7 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -53,6 +53,7 @@
<li class="toctree-l2"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -41,6 +41,7 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction to the CPL Docs</a></li>
<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

File diff suppressed because one or more lines are too long

View File

@@ -57,6 +57,7 @@
<li class="toctree-l2"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -56,6 +56,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>

View File

@@ -19,7 +19,7 @@
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="CLI Reference" href="cpl_cli.html" />
<link rel="next" title="Contributing to CPL" href="contributing.html" />
<link rel="prev" title="Use builtin logger" href="tutorials.logging.html" />
</head>
@@ -59,6 +59,7 @@
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing to CPL</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_cli.html">CLI Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_core.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpl_query.html">Query Reference</a></li>
@@ -102,7 +103,7 @@
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="tutorials.logging.html" class="btn btn-neutral float-left" title="Use builtin logger" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="cpl_cli.html" class="btn btn-neutral float-right" title="CLI Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="contributing.html" class="btn btn-neutral float-right" title="Contributing to CPL" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>

View File

@@ -4,6 +4,7 @@
- [Description](#description)
- [Arguments](#arguments)
- [Flags](#flags)
Removes a project from workspace.

View File

@@ -1,9 +1,9 @@
# cpl help
<!-- ## Contents
## Contents
- [Description](#description) -->
<!-- - [Arguments](#arguments) -->
- [Description](#description)
- [Arguments](#arguments)
Lists available command and their short descriptions.

View File

@@ -44,7 +44,7 @@ Before you submit your Pull Request (PR) consider the following guidelines:
2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. Discussing the design upfront helps to ensure that we're ready to accept your work.
3. Fork the sh-edraft.de/sh_cpl repo.
3. Fork the sh-edraft.de/cpl repo.
4. In your forked repository, make your changes in a new git branch:
@@ -70,7 +70,7 @@ Before you submit your Pull Request (PR) consider the following guidelines:
git push origin my-fix-branch
```
8. In Gitea, send a pull request to sh_cpl:master
8. In Gitea, send a pull request to cpl:master
### Reviewing a Pull Request
@@ -104,7 +104,7 @@ To ensure consistency throughout the source code, keep these rules in mind as yo
## License
By contributing, you agree that your contributions will be licensed under its MIT License.
See [LICENSE](https://git.sh-edraft.de/sh-edraft.de/sh_cpl/src/branch/master/LICENSE)
See [LICENSE](https://git.sh-edraft.de/sh-edraft.de/cpl/src/branch/master/LICENSE)
<!-- LINKS -->
[gitea-repo]: https://git.sh-edraft.de/sh-edraft.de/sh_cpl/

View File

@@ -10,6 +10,72 @@ The Common Python Library (CPL) is a package for python and a development platfo
This CPL docs help you learn, understand and use the package. From your first application to complex apps for enterprises.
Features
--------
- cpl-core
- Expandle
- Application base
- Standardized application classes
- Application object builder
- Application extension classes
- Startup classes
- Startup extension classes
- Configuration
- Configure via object mapped JSON
- Console argument handling
- Console class for in and output
- Banner
- Spinner
- Options (menu)
- Table
- Write
- Write_at
- Write_line
- Write_line_at
- Dependency injection
- Service lifetimes: singleton, scoped and transient
- Providing of application environment
- Environment (development, staging, testing, production)
- Appname
- Customer
- Hostname
- Runtime directory
- Working directory
- Logging
- Standardized logger
- Log-level (FATAL, ERROR, WARN, INFO, DEBUG & TRACE)
- Mail handling
- Send mails
- Pipe classes
- Convert input
- Utils
- Credential manager
- Encryption via BASE64
- PIP wrapper class based on subprocess
- Run pip commands
- String converter to different variants
- to_lower_case
- to_camel_case
- ...
- cpl-cli
- Expandle
- Code generation
- Package managing
- Build & Publishing
- cpl-discord
- Utils for discord.py
- Connector between cpl-core and discord.py
- Prepared services for dependency injection
- cpl-query
- Python list extensions
- Functions for sorting and filtering
- Like linq from C# but in python xD
- cpl-translate
- Generic translations
- Prepared translation service and translate pipe
- Get translation from JSON files key dot.key notation
Manuals
---------
@@ -20,6 +86,7 @@ These pages go into great detail about everything the Library can do.
introduction
getting_started
contributing
cpl_cli
cpl_core
cpl_query

View File

@@ -7,4 +7,6 @@ cpl
getting_started
cpl_cli
cpl_core
cpl_discord
cpl_query
cpl_translate

View File

@@ -27,7 +27,7 @@ Also you need to have the following installed.
To install the package, open a terminal window and run the following command:
```sh
pip install sh_cpl-core --extra-index-url https://pip.sh-edraft.de
pip install cpl-core --extra-index-url https://pip.sh-edraft.de
```
## Install the CLI
@@ -37,7 +37,7 @@ You use the CPL CLI to create projects, generate application and library code. Y
To install the CLI, open a terminal window and run the following command:
```sh
pip install sh_cpl-cli --extra-index-url https://pip.sh-edraft.de
pip install cpl-cli --extra-index-url https://pip.sh-edraft.de
```
## Install the query
@@ -45,7 +45,7 @@ pip install sh_cpl-cli --extra-index-url https://pip.sh-edraft.de
To install the package, open a terminal window and run the following command:
```sh
pip install sh_cpl-query --extra-index-url https://pip.sh-edraft.de
pip install cpl-query --extra-index-url https://pip.sh-edraft.de
```
## Create initial console app

View File

@@ -11,7 +11,13 @@ class ABCTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
from abc import ABC, abstractmethod

View File

@@ -11,7 +11,13 @@ class ConfigModelTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
import traceback

View File

@@ -11,7 +11,13 @@ class EnumTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
from enum import Enum

View File

@@ -12,6 +12,9 @@ class InitTemplate(TemplateFileABC):
self._name = f'__init__.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
# imports

View File

@@ -11,7 +11,13 @@ class PipeTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
from cpl_core.pipes.pipe_abc import PipeABC

View File

@@ -11,7 +11,13 @@ class ServiceTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
class $Name:

View File

@@ -11,7 +11,13 @@ class TestCaseTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
import unittest

View File

@@ -11,7 +11,13 @@ class ThreadTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
import threading

View File

@@ -11,7 +11,13 @@ class ValidatorTemplate(TemplateFileABC):
TemplateFileABC.__init__(self)
self._name = f'{String.convert_to_snake_case(name)}_{schematic}.py'
if schematic in name.lower():
self._name = f'{String.convert_to_snake_case(name)}.py'
self._class_name = f'{String.first_to_upper(name)}{schematic_upper}'
if schematic in name.lower():
self._class_name = f'{String.first_to_upper(name)}'
self._path = path
self._value = textwrap.dedent("""\
from cpl_core.configuration.validator_abc import ValidatorABC

View File

@@ -5,51 +5,30 @@ from cpl_cli._templates.template_file_abc import TemplateFileABC
class StartupTemplate(TemplateFileABC):
def __init__(self, name: str, path: str, use_async: bool):
def __init__(self, name: str, path: str):
TemplateFileABC.__init__(self)
self._name = 'startup.py'
self._path = path
self._use_async = use_async
if self._use_async:
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
async def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
async def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
else:
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
@property
def name(self) -> str:

View File

@@ -5,50 +5,29 @@ from cpl_cli._templates.template_file_abc import TemplateFileABC
class StartupTemplate(TemplateFileABC):
def __init__(self, name: str, path: str, use_async: bool):
def __init__(self, name: str, path: str):
TemplateFileABC.__init__(self)
self._name = 'startup.py'
self._path = path
if use_async:
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
async def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
async def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
else:
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
self._value = textwrap.dedent("""\
from cpl_core.application import StartupABC
from cpl_core.configuration import ConfigurationABC
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl_core.environment import ApplicationEnvironment
class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(self, configuration: ConfigurationABC, environment: ApplicationEnvironment) -> ConfigurationABC:
return configuration
def configure_services(self, services: ServiceCollectionABC, environment: ApplicationEnvironment) -> ServiceProviderABC:
return services.build_service_provider()
""")
@property
def name(self) -> str:

View File

@@ -31,6 +31,16 @@ class VersionService(CommandABC):
:param args:
:return:
"""
packages = []
cpl_packages = []
dependencies = dict(tuple(str(ws).split()) for ws in pkg_resources.working_set)
for p in dependencies:
if str(p).startswith('cpl-'):
cpl_packages.append([p, dependencies[p]])
continue
packages.append([p, dependencies[p]])
Console.set_foreground_color(ForegroundColorEnum.yellow)
Console.banner('CPL CLI')
Console.set_foreground_color(ForegroundColorEnum.default)
@@ -40,31 +50,8 @@ class VersionService(CommandABC):
Console.write_line(f'Python: ')
Console.write(f'{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}')
Console.write_line(f'OS: {platform.system()} {platform.processor()}')
Console.write_line('\nCPL packages:')
cpl_packages = [
'cpl_core',
'cpl_cli',
'cpl_query'
]
packages = []
for modname in cpl_packages:
module = pkgutil.find_loader(modname)
if module is None:
break
module = module.load_module(modname)
if '__version__' in dir(module):
packages.append([f'{modname}', module.__version__])
Console.table(['Name', 'Version'], packages)
Console.table(['Name', 'Version'], cpl_packages)
Console.write_line('\nPython packages:')
packages = []
dependencies = dict(tuple(str(ws).split()) for ws in pkg_resources.working_set)
for p in dependencies:
packages.append([p, dependencies[p]])
Console.table(['Name', 'Version'], packages)

View File

@@ -109,7 +109,7 @@ class ConsoleBuilder:
templates.append(ApplicationTemplate(src_name, py_src_rel_path, use_async))
if use_startup:
templates.append(StartupTemplate(src_name, py_src_rel_path, use_async))
templates.append(StartupTemplate(src_name, py_src_rel_path))
templates.append(MainWithApplicationHostAndStartupTemplate(src_name, py_src_rel_path, use_async))
else:
templates.append(MainWithApplicationBaseTemplate(src_name, py_src_rel_path, use_async))

View File

@@ -113,7 +113,7 @@ class LibraryBuilder:
templates.append(ApplicationTemplate(src_name, py_src_rel_path, use_async))
if use_startup:
templates.append(StartupTemplate(src_name, py_src_rel_path, use_async))
templates.append(StartupTemplate(src_name, py_src_rel_path))
templates.append(MainWithApplicationHostAndStartupTemplate(src_name, py_src_rel_path, use_async))
else:
templates.append(MainWithApplicationBaseTemplate(src_name, py_src_rel_path, use_async))

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -23,4 +23,4 @@ from collections import namedtuple
# imports:
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.application'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -29,4 +29,4 @@ from .startup_abc import StartupABC
from .startup_extension_abc import StartupExtensionABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.configuration'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -35,4 +35,4 @@ from .validator_abc import ValidatorABC
from .variable_argument import VariableArgument
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.console'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -28,4 +28,4 @@ from .foreground_color_enum import ForegroundColorEnum
from .spinner_thread import SpinnerThread
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -3,8 +3,8 @@
"Name": "cpl-core",
"Version": {
"Major": "2022",
"Minor": "7",
"Micro": "0.post5"
"Minor": "10",
"Micro": "1"
},
"Author": "Sven Heidemann",
"AuthorEmail": "sven.heidemann@sh-edraft.de",
@@ -16,16 +16,16 @@
"LicenseName": "MIT",
"LicenseDescription": "MIT, see LICENSE for more details.",
"Dependencies": [
"art==5.6",
"colorama==0.4.4",
"art==5.7",
"colorama==0.4.5",
"mysql-connector==2.2.9",
"psutil==5.9.0",
"psutil==5.9.2",
"packaging==21.3",
"pynput==1.7.6",
"setuptools==62.1.0",
"tabulate==0.8.9",
"setuptools==65.3.0",
"tabulate==0.8.10",
"termcolor==1.1.0",
"watchdog==2.1.7",
"watchdog==2.1.9",
"wheel==0.37.1"
],
"DevDependencies": [

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.database'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -26,4 +26,4 @@ from .database_settings import DatabaseSettings
from .table_abc import TableABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.database.connection'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -25,4 +25,4 @@ from .database_connection import DatabaseConnection
from .database_connection_abc import DatabaseConnectionABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.database.context'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -25,4 +25,4 @@ from .database_context import DatabaseContext
from .database_context_abc import DatabaseContextABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.dependency_injection'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -31,4 +31,4 @@ from .service_provider import ServiceProvider
from .service_provider_abc import ServiceProviderABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -9,6 +9,13 @@ class Scope(ScopeABC):
def __init__(self, service_provider: ServiceProviderABC):
self._service_provider = service_provider
self._service_provider.set_scope(self)
ScopeABC.__init__(self)
def __enter__(self):
return self
def __exit__(self, *args):
self.dispose()
@property
def service_provider(self) -> ServiceProviderABC:

View File

@@ -18,7 +18,7 @@ class ScopeABC(ABC):
pass
@abstractmethod
def dispose():
def dispose(self):
r"""Sets service_provider to None
"""
pass

View File

@@ -93,7 +93,7 @@ class ServiceProvider(ServiceProviderABC):
self._scope = scope
def create_scope(self) -> ScopeABC:
sb = ScopeBuilder(ServiceProvider(copy.deepcopy(self._service_descriptors), self._configuration, self._database_context))
sb = ScopeBuilder(ServiceProvider(self._service_descriptors, self._configuration, self._database_context))
return sb.build()
def get_service(self, service_type: type) -> Optional[object]:

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.environment'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -26,4 +26,4 @@ from .environment_name_enum import EnvironmentNameEnum
from .application_environment import ApplicationEnvironment
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.logging'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -28,4 +28,4 @@ from .logging_settings import LoggingSettings
from .logging_settings_name_enum import LoggingSettingsNameEnum
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -4,6 +4,7 @@ import sys
import traceback
from string import Template
from cpl_core.configuration.configuration_model_abc import ConfigurationModelABC
from cpl_core.console.console import Console
from cpl_core.console.foreground_color_enum import ForegroundColorEnum
from cpl_core.environment.application_environment_abc import ApplicationEnvironmentABC
@@ -33,6 +34,9 @@ class Logger(LoggerABC):
self._log_settings: LoggingSettings = logging_settings
self._time_format_settings: TimeFormatSettings = time_format
self._check_for_settings(self._time_format_settings, TimeFormatSettings)
self._check_for_settings(self._log_settings, LoggingSettings)
self._log = Template(self._log_settings.filename).substitute(
date_time_now=self._env.date_time_now.strftime(self._time_format_settings.date_time_format),
start_time=self._env.start_time.strftime(self._time_format_settings.date_time_log_format)
@@ -43,6 +47,12 @@ class Logger(LoggerABC):
self.create()
def _check_for_settings(self, settings: ConfigurationModelABC, settings_type: type):
self._level = LoggingLevelEnum.OFF
self._console = LoggingLevelEnum.FATAL
if settings is None:
self.fatal(__name__, f'Configuration for {settings_type} not found')
def _get_datetime_now(self) -> str:
r"""Returns the date and time by given format

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.mailing'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -28,4 +28,4 @@ from .email_client_settings import EMailClientSettings
from .email_client_settings_name_enum import EMailClientSettingsNameEnum
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl_core.pipes'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2022 sh-edraft.de'
__version__ = '2022.7.0.post5'
__version__ = '2022.10.1'
from collections import namedtuple
@@ -30,4 +30,4 @@ from .to_camel_case_pipe import ToCamelCasePipe
from .to_snake_case_pipe import ToSnakeCasePipe
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2022', minor='7', micro='0.post5')
version_info = VersionInfo(major='2022', minor='10', micro='1')

Some files were not shown because too many files have changed in this diff Show More