mediux-posters 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ end_of_line = lf
7
+ charset = utf-8
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+ max_line_length = 100
11
+
12
+ [*.cs]
13
+ indent_size = 4
14
+ insert_final_newline = false
15
+
16
+ [{*.html,*.jte,*.kte,*.jinja}]
17
+ indent_size = 4
18
+ insert_final_newline = false
19
+ max_line_length = off
20
+
21
+ [*.java]
22
+ indent_size = 4
23
+ insert_final_newline = false
24
+
25
+ [*.json]
26
+ insert_final_newline = false
27
+
28
+ [{*.kt,*.kts}]
29
+ ij_kotlin_allow_trailing_comma = true
30
+ ij_kotlin_allow_trailing_comma_on_call_site = true
31
+ ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^
32
+ ij_kotlin_packages_to_use_import_on_demand = unset
33
+ indent_size = 4
34
+ ktlint_code_style = ktlint_official
35
+ ktlint_standard = enabled
36
+ ktlint_experimental = disabled
37
+ ktlint_standard_string-template-indent = disabled
38
+ ktlint_standard_multiline-expression-wrapping = disabled
39
+ ktlint_function_signature_body_expression_wrapping = multiline
40
+ max_line_length = 140
41
+
42
+ [*.md]
43
+ trim_trailing_whitespace = false
44
+ max_line_length = off
45
+
46
+ [*.py]
47
+ indent_size = 4
48
+
49
+ [{*.xml,*.xsd}]
50
+ indent_size = 4
51
+ insert_final_newline = false
52
+ max_line_length = off
@@ -0,0 +1,57 @@
1
+ * text=auto
2
+
3
+ .gitattributes export-ignore
4
+ .gitignore export-ignore
5
+
6
+ *.md text diff=markdown
7
+ *.rtf diff=astextplain
8
+ *.sql text
9
+ *.txt text
10
+
11
+ *.jpg binary
12
+ *.png binary
13
+
14
+ *.bash text eol=lf
15
+ *.bat text eol=crlf
16
+ *.cmd text eol=crlf
17
+ *.fish text eol=lf
18
+ *.ps1 text eol=crlf
19
+ *.sh text eol=lf
20
+ *.zsh text eol=lf
21
+
22
+ *.csv text
23
+ *.json text
24
+ *.toml text
25
+ *.xml text
26
+ *.yaml text
27
+ *.yml text
28
+
29
+ *.7z binary
30
+ *.gz binary
31
+ *.tar binary
32
+ *.tgz binary
33
+ *.zip binary
34
+
35
+ # C#
36
+ *.cs text diff=csharp
37
+ *.cshtml text diff=html
38
+ *.csproj text eol=crlf
39
+ *.csx text diff=csharp
40
+ *.sln text eol=crlf
41
+
42
+ # Java
43
+ *.gradle text diff=java
44
+ *.gradle.kts text diff=kotlin
45
+ *.groovy text diff=java
46
+ *.java text diff=java
47
+ *.kt text diff=kotlin
48
+ *.scala text diff=java
49
+
50
+ # Python
51
+ *.pxd text diff=python
52
+ *.py text diff=python
53
+ *.py3 text diff=python
54
+ *.pyi text diff=python
55
+ *.pyw text diff=python
56
+ *.pyx text diff=python
57
+ *.pyz text diff=python
@@ -0,0 +1,19 @@
1
+ # =====Folders=====
2
+ __pycache__/
3
+ __pypackages__/
4
+ .idea/
5
+ .ruff_cache/
6
+ .venv/
7
+ build/
8
+ covers/
9
+ dist/
10
+ logs/
11
+
12
+ # =====Files=====
13
+ *.iml
14
+ *.log
15
+ *.txt
16
+ .pdm-python
17
+ .python-version
18
+ pdm.lock
19
+ uv.lock
@@ -0,0 +1,56 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.8.2
4
+ hooks:
5
+ - id: ruff-format
6
+ - id: ruff
7
+ - repo: https://github.com/executablebooks/mdformat
8
+ rev: 0.7.19
9
+ hooks:
10
+ - id: mdformat
11
+ additional_dependencies:
12
+ - mdformat-gfm
13
+ - mdformat-tables
14
+ args:
15
+ - --number
16
+ - --wrap=keep
17
+ - repo: https://github.com/pre-commit/pre-commit-hooks
18
+ rev: v5.0.0
19
+ hooks:
20
+ - id: check-ast
21
+ - id: check-builtin-literals
22
+ - id: check-case-conflict
23
+ - id: check-docstring-first
24
+ - id: check-merge-conflict
25
+ args:
26
+ - --assume-in-merge
27
+ - id: check-toml
28
+ - id: check-yaml
29
+ args:
30
+ - --allow-multiple-documents
31
+ - id: end-of-file-fixer
32
+ exclude_types:
33
+ - json
34
+ - xml
35
+ - id: fix-byte-order-marker
36
+ - id: forbid-submodules
37
+ - id: mixed-line-ending
38
+ args:
39
+ - --fix=auto
40
+ # - id: name-tests-test
41
+ - id: trailing-whitespace
42
+ args:
43
+ - --markdown-linebreak-ext=md
44
+ exclude_types:
45
+ - svg
46
+ - repo: https://github.com/pappasam/toml-sort
47
+ rev: v0.24.2
48
+ hooks:
49
+ - id: toml-sort
50
+ args:
51
+ - --in-place
52
+ - --all
53
+ - repo: meta
54
+ hooks:
55
+ - id: check-hooks-apply
56
+ - id: check-useless-excludes
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Jonah Jackson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,132 @@
1
+ Metadata-Version: 2.3
2
+ Name: mediux-posters
3
+ Version: 0.1.0
4
+ Project-URL: Homepage, https://pypi.org/project/Mediux-Posters
5
+ Project-URL: Issues, https://github.com/Buried-In-Code/Mediux-Posters/issues
6
+ Project-URL: Source, https://github.com/Buried-In-Code/Mediux-Posters
7
+ Author-email: BuriedInCode <BuriedInCode@tuta.io>
8
+ License: MIT
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Console
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Natural Language :: English
13
+ Classifier: Operating System :: MacOS
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Operating System :: POSIX :: Linux
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Typing :: Typed
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: beautifulsoup4>=4.12.3
23
+ Requires-Dist: plexapi>=4.16.0
24
+ Requires-Dist: pydantic>=2.10.3
25
+ Requires-Dist: requests>=2.32.3
26
+ Requires-Dist: rich>=13.9.4
27
+ Requires-Dist: tomli-w>=1.1.0
28
+ Requires-Dist: tomli>=2.0.1; python_version < '3.11'
29
+ Requires-Dist: typer>=0.15.1
30
+ Description-Content-Type: text/markdown
31
+
32
+ # Mediux Posters
33
+
34
+ [![PyPI - Python](https://img.shields.io/pypi/pyversions/Mediux-Posters.svg?logo=PyPI&label=Python&style=flat-square)](https://pypi.python.org/pypi/Mediux-Posters/)
35
+ [![PyPI - Status](https://img.shields.io/pypi/status/Mediux-Posters.svg?logo=PyPI&label=Status&style=flat-square)](https://pypi.python.org/pypi/Mediux-Posters/)
36
+ [![PyPI - Version](https://img.shields.io/pypi/v/Mediux-Posters.svg?logo=PyPI&label=Version&style=flat-square)](https://pypi.python.org/pypi/Mediux-Posters/)
37
+ [![PyPI - License](https://img.shields.io/pypi/l/Mediux-Posters.svg?logo=PyPI&label=License&style=flat-square)](https://opensource.org/licenses/MIT)
38
+
39
+ [![Pre-Commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&style=flat-square)](https://github.com/pre-commit/pre-commit)
40
+ [![Ruff](https://img.shields.io/badge/ruff-enabled-brightgreen?logo=ruff&style=flat-square)](https://github.com/astral-sh/ruff)
41
+
42
+ [![Github - Contributors](https://img.shields.io/github/contributors/Buried-In-Code/Mediux-Posters.svg?logo=Github&label=Contributors&style=flat-square)](https://github.com/Buried-In-Code/Mediux-Posters/graphs/contributors)
43
+
44
+ Pull Shows, Movies and Collections from Mediux and updates Plex/Jellyfin.
45
+ Pulls Posters, Backdrops and Title Cards.
46
+
47
+ **_Uses TMDB Id to match shows/movies/collections_**
48
+
49
+ ## Installation
50
+
51
+ ### Pipx
52
+
53
+ 1. Ensure you have [Pipx](https://pipx.pypa.io/stable/) installed: `pipx --version`
54
+ 2. Install the project: `pipx install Mediux-Posters`
55
+
56
+ ## Usage
57
+
58
+ <details><summary>Mediux-Posters Commands</summary>
59
+
60
+ <!-- RICH-CODEX hide_command: true -->
61
+ ![`uv run Mediux-Posters --help`](docs/img/mp-commands.svg)
62
+
63
+ </details>
64
+ <details><summary>Mediux-Posters sync</summary>
65
+
66
+ <!-- RICH-CODEX hide_command: true -->
67
+ ![`uv run Mediux-Posters sync --help`](docs/img/mp-sync.svg)
68
+
69
+ </details>
70
+ <details><summary>Mediux-Posters set</summary>
71
+
72
+ <!-- RICH-CODEX hide_command: true -->
73
+ ![`uv run Mediux-Posters set --help`](docs/img/mp-set.svg)
74
+
75
+ </details>
76
+
77
+ ### Mediux-Posters settings Commands
78
+
79
+ <details><summary>Mediux-Posters settings view</summary>
80
+
81
+ <!-- RICH-CODEX hide_command: true -->
82
+ ![`uv run Mediux-Posters settings view --help`](docs/img/mp-settings-view.svg)
83
+
84
+ </details>
85
+ <details><summary>Mediux-Posters settings locate</summary>
86
+
87
+ <!-- RICH-CODEX hide_command: true -->
88
+ ![`uv run Mediux-Posters settings locate --help`](docs/img/mp-settings-locate.svg)
89
+
90
+ </details>
91
+
92
+ ## Settings
93
+
94
+ To set Plex and/or Jellyfin details, update the file: `~/.config/mediux-posters/settings.toml`.
95
+ File will be created on first run.
96
+
97
+ ### Example File
98
+
99
+ ```toml
100
+ exclude_usernames = []
101
+ only_priority_usernames = false
102
+ priority_usernames = []
103
+
104
+ [jellyfin]
105
+ base_url = "http://127.0.0.1:8096"
106
+ token = "<Token>"
107
+
108
+ [plex]
109
+ base_url = "http://127.0.0.1:32400"
110
+ token = "<Token>"
111
+ ```
112
+
113
+ ### Details
114
+
115
+ - `exclude_usernames`
116
+
117
+ A list of usernames whose sets should be ignored when running a sync.
118
+
119
+ - `only_priority_usernames`
120
+
121
+ A boolean flag that limits downloading sets to ones created by the users specified in `priority_usernames`.
122
+ If set to `false`, all sets will be considered unless explicitly excluded in `exclude_usernames`.
123
+
124
+ - `priority_usernames`
125
+
126
+ A list of usernames whose sets should take priority when running a sync.
127
+ If `only_priority_usernames` is set to `true`, only sets from these users will be used.
128
+
129
+ ## Socials
130
+
131
+ [![Social - Fosstodon](https://img.shields.io/badge/%40BuriedInCode-teal?label=Fosstodon&logo=mastodon&style=for-the-badge)](https://fosstodon.org/@BuriedInCode)\
132
+ [![Social - Matrix](https://img.shields.io/matrix/The-Dev-Environment:matrix.org?label=The-Dev-Environment&logo=matrix&style=for-the-badge)](https://matrix.to/#/#The-Dev-Environment:matrix.org)
@@ -0,0 +1,101 @@
1
+ # Mediux Posters
2
+
3
+ [![PyPI - Python](https://img.shields.io/pypi/pyversions/Mediux-Posters.svg?logo=PyPI&label=Python&style=flat-square)](https://pypi.python.org/pypi/Mediux-Posters/)
4
+ [![PyPI - Status](https://img.shields.io/pypi/status/Mediux-Posters.svg?logo=PyPI&label=Status&style=flat-square)](https://pypi.python.org/pypi/Mediux-Posters/)
5
+ [![PyPI - Version](https://img.shields.io/pypi/v/Mediux-Posters.svg?logo=PyPI&label=Version&style=flat-square)](https://pypi.python.org/pypi/Mediux-Posters/)
6
+ [![PyPI - License](https://img.shields.io/pypi/l/Mediux-Posters.svg?logo=PyPI&label=License&style=flat-square)](https://opensource.org/licenses/MIT)
7
+
8
+ [![Pre-Commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&style=flat-square)](https://github.com/pre-commit/pre-commit)
9
+ [![Ruff](https://img.shields.io/badge/ruff-enabled-brightgreen?logo=ruff&style=flat-square)](https://github.com/astral-sh/ruff)
10
+
11
+ [![Github - Contributors](https://img.shields.io/github/contributors/Buried-In-Code/Mediux-Posters.svg?logo=Github&label=Contributors&style=flat-square)](https://github.com/Buried-In-Code/Mediux-Posters/graphs/contributors)
12
+
13
+ Pull Shows, Movies and Collections from Mediux and updates Plex/Jellyfin.
14
+ Pulls Posters, Backdrops and Title Cards.
15
+
16
+ **_Uses TMDB Id to match shows/movies/collections_**
17
+
18
+ ## Installation
19
+
20
+ ### Pipx
21
+
22
+ 1. Ensure you have [Pipx](https://pipx.pypa.io/stable/) installed: `pipx --version`
23
+ 2. Install the project: `pipx install Mediux-Posters`
24
+
25
+ ## Usage
26
+
27
+ <details><summary>Mediux-Posters Commands</summary>
28
+
29
+ <!-- RICH-CODEX hide_command: true -->
30
+ ![`uv run Mediux-Posters --help`](docs/img/mp-commands.svg)
31
+
32
+ </details>
33
+ <details><summary>Mediux-Posters sync</summary>
34
+
35
+ <!-- RICH-CODEX hide_command: true -->
36
+ ![`uv run Mediux-Posters sync --help`](docs/img/mp-sync.svg)
37
+
38
+ </details>
39
+ <details><summary>Mediux-Posters set</summary>
40
+
41
+ <!-- RICH-CODEX hide_command: true -->
42
+ ![`uv run Mediux-Posters set --help`](docs/img/mp-set.svg)
43
+
44
+ </details>
45
+
46
+ ### Mediux-Posters settings Commands
47
+
48
+ <details><summary>Mediux-Posters settings view</summary>
49
+
50
+ <!-- RICH-CODEX hide_command: true -->
51
+ ![`uv run Mediux-Posters settings view --help`](docs/img/mp-settings-view.svg)
52
+
53
+ </details>
54
+ <details><summary>Mediux-Posters settings locate</summary>
55
+
56
+ <!-- RICH-CODEX hide_command: true -->
57
+ ![`uv run Mediux-Posters settings locate --help`](docs/img/mp-settings-locate.svg)
58
+
59
+ </details>
60
+
61
+ ## Settings
62
+
63
+ To set Plex and/or Jellyfin details, update the file: `~/.config/mediux-posters/settings.toml`.
64
+ File will be created on first run.
65
+
66
+ ### Example File
67
+
68
+ ```toml
69
+ exclude_usernames = []
70
+ only_priority_usernames = false
71
+ priority_usernames = []
72
+
73
+ [jellyfin]
74
+ base_url = "http://127.0.0.1:8096"
75
+ token = "<Token>"
76
+
77
+ [plex]
78
+ base_url = "http://127.0.0.1:32400"
79
+ token = "<Token>"
80
+ ```
81
+
82
+ ### Details
83
+
84
+ - `exclude_usernames`
85
+
86
+ A list of usernames whose sets should be ignored when running a sync.
87
+
88
+ - `only_priority_usernames`
89
+
90
+ A boolean flag that limits downloading sets to ones created by the users specified in `priority_usernames`.
91
+ If set to `false`, all sets will be considered unless explicitly excluded in `exclude_usernames`.
92
+
93
+ - `priority_usernames`
94
+
95
+ A list of usernames whose sets should take priority when running a sync.
96
+ If `only_priority_usernames` is set to `true`, only sets from these users will be used.
97
+
98
+ ## Socials
99
+
100
+ [![Social - Fosstodon](https://img.shields.io/badge/%40BuriedInCode-teal?label=Fosstodon&logo=mastodon&style=for-the-badge)](https://fosstodon.org/@BuriedInCode)\
101
+ [![Social - Matrix](https://img.shields.io/matrix/The-Dev-Environment:matrix.org?label=The-Dev-Environment&logo=matrix&style=for-the-badge)](https://matrix.to/#/#The-Dev-Environment:matrix.org)
@@ -0,0 +1,126 @@
1
+ <svg class="rich-terminal" viewBox="0 0 994 464.79999999999995" xmlns="http://www.w3.org/2000/svg">
2
+ <!-- Generated with Rich https://www.textualize.io -->
3
+ <style>
4
+
5
+ @font-face {
6
+ font-family: "Fira Code";
7
+ src: local("FiraCode-Regular"),
8
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
9
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
10
+ font-style: normal;
11
+ font-weight: 400;
12
+ }
13
+ @font-face {
14
+ font-family: "Fira Code";
15
+ src: local("FiraCode-Bold"),
16
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
17
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
18
+ font-style: bold;
19
+ font-weight: 700;
20
+ }
21
+
22
+ .terminal-2166757357-matrix {
23
+ font-family: Fira Code, monospace;
24
+ font-size: 20px;
25
+ line-height: 24.4px;
26
+ font-variant-east-asian: full-width;
27
+ }
28
+
29
+ .terminal-2166757357-title {
30
+ font-size: 18px;
31
+ font-weight: bold;
32
+ font-family: arial;
33
+ }
34
+
35
+ .terminal-2166757357-r1 { fill: #c5c8c6;font-weight: bold }
36
+ .terminal-2166757357-r2 { fill: #c5c8c6 }
37
+ .terminal-2166757357-r3 { fill: #d0b344;font-weight: bold }
38
+ .terminal-2166757357-r4 { fill: #868887 }
39
+ .terminal-2166757357-r5 { fill: #68a0b3;font-weight: bold }
40
+ </style>
41
+
42
+ <defs>
43
+ <clipPath id="terminal-2166757357-clip-terminal">
44
+ <rect x="0" y="0" width="975.0" height="413.79999999999995" />
45
+ </clipPath>
46
+ <clipPath id="terminal-2166757357-line-0">
47
+ <rect x="0" y="1.5" width="976" height="24.65"/>
48
+ </clipPath>
49
+ <clipPath id="terminal-2166757357-line-1">
50
+ <rect x="0" y="25.9" width="976" height="24.65"/>
51
+ </clipPath>
52
+ <clipPath id="terminal-2166757357-line-2">
53
+ <rect x="0" y="50.3" width="976" height="24.65"/>
54
+ </clipPath>
55
+ <clipPath id="terminal-2166757357-line-3">
56
+ <rect x="0" y="74.7" width="976" height="24.65"/>
57
+ </clipPath>
58
+ <clipPath id="terminal-2166757357-line-4">
59
+ <rect x="0" y="99.1" width="976" height="24.65"/>
60
+ </clipPath>
61
+ <clipPath id="terminal-2166757357-line-5">
62
+ <rect x="0" y="123.5" width="976" height="24.65"/>
63
+ </clipPath>
64
+ <clipPath id="terminal-2166757357-line-6">
65
+ <rect x="0" y="147.9" width="976" height="24.65"/>
66
+ </clipPath>
67
+ <clipPath id="terminal-2166757357-line-7">
68
+ <rect x="0" y="172.3" width="976" height="24.65"/>
69
+ </clipPath>
70
+ <clipPath id="terminal-2166757357-line-8">
71
+ <rect x="0" y="196.7" width="976" height="24.65"/>
72
+ </clipPath>
73
+ <clipPath id="terminal-2166757357-line-9">
74
+ <rect x="0" y="221.1" width="976" height="24.65"/>
75
+ </clipPath>
76
+ <clipPath id="terminal-2166757357-line-10">
77
+ <rect x="0" y="245.5" width="976" height="24.65"/>
78
+ </clipPath>
79
+ <clipPath id="terminal-2166757357-line-11">
80
+ <rect x="0" y="269.9" width="976" height="24.65"/>
81
+ </clipPath>
82
+ <clipPath id="terminal-2166757357-line-12">
83
+ <rect x="0" y="294.3" width="976" height="24.65"/>
84
+ </clipPath>
85
+ <clipPath id="terminal-2166757357-line-13">
86
+ <rect x="0" y="318.7" width="976" height="24.65"/>
87
+ </clipPath>
88
+ <clipPath id="terminal-2166757357-line-14">
89
+ <rect x="0" y="343.1" width="976" height="24.65"/>
90
+ </clipPath>
91
+ <clipPath id="terminal-2166757357-line-15">
92
+ <rect x="0" y="367.5" width="976" height="24.65"/>
93
+ </clipPath>
94
+ </defs>
95
+
96
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="992" height="462.8" rx="8"/>
97
+ <g transform="translate(26,22)">
98
+ <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
99
+ <circle cx="22" cy="0" r="7" fill="#febc2e"/>
100
+ <circle cx="44" cy="0" r="7" fill="#28c840"/>
101
+ </g>
102
+
103
+ <g transform="translate(9, 41)" clip-path="url(#terminal-2166757357-clip-terminal)">
104
+
105
+ <g class="terminal-2166757357-matrix">
106
+ <text class="terminal-2166757357-r2" x="976" y="20" textLength="12.2" clip-path="url(#terminal-2166757357-line-0)">
107
+ </text><text class="terminal-2166757357-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-2166757357-line-1)">Usage:&#160;</text><text class="terminal-2166757357-r1" x="97.6" y="44.4" textLength="512.4" clip-path="url(#terminal-2166757357-line-1)">Mediux-Posters&#160;[OPTIONS]&#160;COMMAND&#160;[ARGS]...</text><text class="terminal-2166757357-r2" x="976" y="44.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-1)">
108
+ </text><text class="terminal-2166757357-r2" x="976" y="68.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-2)">
109
+ </text><text class="terminal-2166757357-r4" x="0" y="93.2" textLength="24.4" clip-path="url(#terminal-2166757357-line-3)">╭─</text><text class="terminal-2166757357-r4" x="24.4" y="93.2" textLength="109.8" clip-path="url(#terminal-2166757357-line-3)">&#160;Options&#160;</text><text class="terminal-2166757357-r4" x="134.2" y="93.2" textLength="817.4" clip-path="url(#terminal-2166757357-line-3)">───────────────────────────────────────────────────────────────────</text><text class="terminal-2166757357-r4" x="951.6" y="93.2" textLength="24.4" clip-path="url(#terminal-2166757357-line-3)">─╮</text><text class="terminal-2166757357-r2" x="976" y="93.2" textLength="12.2" clip-path="url(#terminal-2166757357-line-3)">
110
+ </text><text class="terminal-2166757357-r4" x="0" y="117.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-4)">│</text><text class="terminal-2166757357-r5" x="24.4" y="117.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-4)">-</text><text class="terminal-2166757357-r5" x="36.6" y="117.6" textLength="97.6" clip-path="url(#terminal-2166757357-line-4)">-install</text><text class="terminal-2166757357-r5" x="134.2" y="117.6" textLength="134.2" clip-path="url(#terminal-2166757357-line-4)">-completion</text><text class="terminal-2166757357-r2" x="268.4" y="117.6" textLength="695.4" clip-path="url(#terminal-2166757357-line-4)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Install&#160;completion&#160;for&#160;the&#160;current&#160;shell.&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="117.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-4)">│</text><text class="terminal-2166757357-r2" x="976" y="117.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-4)">
111
+ </text><text class="terminal-2166757357-r4" x="0" y="142" textLength="12.2" clip-path="url(#terminal-2166757357-line-5)">│</text><text class="terminal-2166757357-r5" x="24.4" y="142" textLength="12.2" clip-path="url(#terminal-2166757357-line-5)">-</text><text class="terminal-2166757357-r5" x="36.6" y="142" textLength="61" clip-path="url(#terminal-2166757357-line-5)">-show</text><text class="terminal-2166757357-r5" x="97.6" y="142" textLength="134.2" clip-path="url(#terminal-2166757357-line-5)">-completion</text><text class="terminal-2166757357-r2" x="231.8" y="142" textLength="732" clip-path="url(#terminal-2166757357-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Show&#160;completion&#160;for&#160;the&#160;current&#160;shell,&#160;to&#160;copy&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="142" textLength="12.2" clip-path="url(#terminal-2166757357-line-5)">│</text><text class="terminal-2166757357-r2" x="976" y="142" textLength="12.2" clip-path="url(#terminal-2166757357-line-5)">
112
+ </text><text class="terminal-2166757357-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-6)">│</text><text class="terminal-2166757357-r2" x="12.2" y="166.4" textLength="951.6" clip-path="url(#terminal-2166757357-line-6)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;it&#160;or&#160;customize&#160;the&#160;installation.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="166.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-6)">│</text><text class="terminal-2166757357-r2" x="976" y="166.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-6)">
113
+ </text><text class="terminal-2166757357-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-7)">│</text><text class="terminal-2166757357-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-7)">-</text><text class="terminal-2166757357-r5" x="36.6" y="190.8" textLength="61" clip-path="url(#terminal-2166757357-line-7)">-help</text><text class="terminal-2166757357-r2" x="97.6" y="190.8" textLength="866.2" clip-path="url(#terminal-2166757357-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Show&#160;this&#160;message&#160;and&#160;exit.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="190.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-7)">│</text><text class="terminal-2166757357-r2" x="976" y="190.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-7)">
114
+ </text><text class="terminal-2166757357-r4" x="0" y="215.2" textLength="976" clip-path="url(#terminal-2166757357-line-8)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2166757357-r2" x="976" y="215.2" textLength="12.2" clip-path="url(#terminal-2166757357-line-8)">
115
+ </text><text class="terminal-2166757357-r4" x="0" y="239.6" textLength="24.4" clip-path="url(#terminal-2166757357-line-9)">╭─</text><text class="terminal-2166757357-r4" x="24.4" y="239.6" textLength="122" clip-path="url(#terminal-2166757357-line-9)">&#160;Commands&#160;</text><text class="terminal-2166757357-r4" x="146.4" y="239.6" textLength="805.2" clip-path="url(#terminal-2166757357-line-9)">──────────────────────────────────────────────────────────────────</text><text class="terminal-2166757357-r4" x="951.6" y="239.6" textLength="24.4" clip-path="url(#terminal-2166757357-line-9)">─╮</text><text class="terminal-2166757357-r2" x="976" y="239.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-9)">
116
+ </text><text class="terminal-2166757357-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-2166757357-line-10)">│</text><text class="terminal-2166757357-r5" x="24.4" y="264" textLength="109.8" clip-path="url(#terminal-2166757357-line-10)">sync&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r2" x="146.4" y="264" textLength="817.4" clip-path="url(#terminal-2166757357-line-10)">&#160;Synchronize&#160;posters&#160;by&#160;fetching&#160;data&#160;from&#160;Mediux&#160;and&#160;updating&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="264" textLength="12.2" clip-path="url(#terminal-2166757357-line-10)">│</text><text class="terminal-2166757357-r2" x="976" y="264" textLength="12.2" clip-path="url(#terminal-2166757357-line-10)">
117
+ </text><text class="terminal-2166757357-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-11)">│</text><text class="terminal-2166757357-r2" x="146.4" y="288.4" textLength="817.4" clip-path="url(#terminal-2166757357-line-11)">&#160;your&#160;libraries.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="288.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-11)">│</text><text class="terminal-2166757357-r2" x="976" y="288.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-11)">
118
+ </text><text class="terminal-2166757357-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-12)">│</text><text class="terminal-2166757357-r5" x="24.4" y="312.8" textLength="109.8" clip-path="url(#terminal-2166757357-line-12)">set&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r2" x="146.4" y="312.8" textLength="817.4" clip-path="url(#terminal-2166757357-line-12)">&#160;Manually&#160;set&#160;posters&#160;for&#160;specific&#160;Mediux&#160;sets&#160;using&#160;a&#160;file&#160;or&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-12)">│</text><text class="terminal-2166757357-r2" x="976" y="312.8" textLength="12.2" clip-path="url(#terminal-2166757357-line-12)">
119
+ </text><text class="terminal-2166757357-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-2166757357-line-13)">│</text><text class="terminal-2166757357-r2" x="146.4" y="337.2" textLength="817.4" clip-path="url(#terminal-2166757357-line-13)">&#160;URLs.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-2166757357-line-13)">│</text><text class="terminal-2166757357-r2" x="976" y="337.2" textLength="12.2" clip-path="url(#terminal-2166757357-line-13)">
120
+ </text><text class="terminal-2166757357-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-14)">│</text><text class="terminal-2166757357-r5" x="24.4" y="361.6" textLength="109.8" clip-path="url(#terminal-2166757357-line-14)">settings&#160;</text><text class="terminal-2166757357-r2" x="146.4" y="361.6" textLength="817.4" clip-path="url(#terminal-2166757357-line-14)">&#160;Commands&#160;for&#160;viewing&#160;app&#160;settings.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-2166757357-r4" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-14)">│</text><text class="terminal-2166757357-r2" x="976" y="361.6" textLength="12.2" clip-path="url(#terminal-2166757357-line-14)">
121
+ </text><text class="terminal-2166757357-r4" x="0" y="386" textLength="976" clip-path="url(#terminal-2166757357-line-15)">╰──────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2166757357-r2" x="976" y="386" textLength="12.2" clip-path="url(#terminal-2166757357-line-15)">
122
+ </text><text class="terminal-2166757357-r2" x="976" y="410.4" textLength="12.2" clip-path="url(#terminal-2166757357-line-16)">
123
+ </text>
124
+ </g>
125
+ </g>
126
+ </svg>