absfuyu 5.0.1__tar.gz → 5.2.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.
Potentially problematic release.
This version of absfuyu might be problematic. Click here for more details.
- {absfuyu-5.0.1 → absfuyu-5.2.0}/PKG-INFO +9 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/README.md +8 -1
- {absfuyu-5.0.1 → absfuyu-5.2.0}/docs/conf.py +1 -1
- {absfuyu-5.0.1 → absfuyu-5.2.0}/docs/info.md +8 -1
- {absfuyu-5.0.1 → absfuyu-5.2.0}/pyproject.toml +4 -1
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/__init__.py +1 -1
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/__main__.py +3 -3
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/cli/__init__.py +2 -2
- absfuyu-5.2.0/src/absfuyu/cli/color.py +47 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/cli/config_group.py +9 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/cli/do_group.py +13 -6
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/cli/game_group.py +9 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/cli/tool_group.py +15 -9
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/config/__init__.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/core/__init__.py +2 -2
- absfuyu-5.2.0/src/absfuyu/core/baseclass.py +668 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/core/baseclass2.py +2 -2
- absfuyu-5.2.0/src/absfuyu/core/decorator.py +133 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/core/docstring.py +43 -25
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/core/dummy_cli.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/core/dummy_func.py +15 -4
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/dxt/__init__.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/dxt/dictext.py +5 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/dxt/dxt_support.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/dxt/intext.py +34 -3
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/dxt/listext.py +300 -113
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/dxt/strext.py +75 -15
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/extra/__init__.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/extra/beautiful.py +2 -2
- absfuyu-5.2.0/src/absfuyu/extra/da/__init__.py +36 -0
- absfuyu-5.2.0/src/absfuyu/extra/da/dadf.py +1177 -0
- absfuyu-5.2.0/src/absfuyu/extra/da/dadf_base.py +186 -0
- absfuyu-5.2.0/src/absfuyu/extra/da/df_func.py +97 -0
- absfuyu-5.2.0/src/absfuyu/extra/da/mplt.py +219 -0
- absfuyu-5.2.0/src/absfuyu/extra/data_analysis.py +21 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/fun/__init__.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/fun/tarot.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/game/__init__.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/game/game_stat.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/game/sudoku.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/game/tictactoe.py +2 -3
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/game/wordle.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/general/__init__.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/general/content.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/general/human.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/general/shape.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/logger.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/pkg_data/__init__.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/pkg_data/deprecated.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/sort.py +2 -2
- absfuyu-5.2.0/src/absfuyu/tools/__init__.py +34 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/tools/checksum.py +27 -7
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/tools/converter.py +120 -34
- absfuyu-5.2.0/src/absfuyu/tools/generator.py +444 -0
- absfuyu-5.2.0/src/absfuyu/tools/inspector.py +463 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/tools/keygen.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/tools/obfuscator.py +45 -7
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/tools/passwordlib.py +88 -24
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/tools/shutdownizer.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/tools/web.py +2 -2
- absfuyu-5.2.0/src/absfuyu/typings.py +136 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/__init__.py +18 -4
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/api.py +36 -16
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/json_method.py +43 -14
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/lunar.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/path.py +190 -82
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/performance.py +122 -7
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/shorten_number.py +40 -10
- absfuyu-5.2.0/src/absfuyu/util/text_table.py +306 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/util/zipped.py +8 -7
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/version.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/conftest.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_api.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_beautiful.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_config.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_converter.py +2 -2
- absfuyu-5.2.0/tests/test_core.py +394 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_data_analysis.py +88 -4
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_dictext.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_everything.py +57 -12
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_extra.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_fun.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_game.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_generator.py +4 -2
- absfuyu-5.2.0/tests/test_inspector.py +78 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_intext.py +16 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_listext.py +30 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_logger.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_obfuscator.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_passwordlib.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_performance.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_pkg_data.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_shape.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_shorten_number.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_strext.py +2 -9
- absfuyu-5.2.0/tests/test_text_table.py +114 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_tools.py +2 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_util.py +4 -2
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/test_version.py +2 -2
- absfuyu-5.0.1/src/absfuyu/cli/color.py +0 -31
- absfuyu-5.0.1/src/absfuyu/core/baseclass.py +0 -299
- absfuyu-5.0.1/src/absfuyu/core/decorator.py +0 -67
- absfuyu-5.0.1/src/absfuyu/extra/data_analysis.py +0 -1078
- absfuyu-5.0.1/src/absfuyu/tools/__init__.py +0 -8
- absfuyu-5.0.1/src/absfuyu/tools/generator.py +0 -303
- absfuyu-5.0.1/tests/test_core.py +0 -215
- {absfuyu-5.0.1 → absfuyu-5.2.0}/.gitignore +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/LICENSE +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/dev_requirements.txt +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/docs/Makefile +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/docs/_template/versioning.html +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/docs/index.rst +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/docs/make.bat +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/docs/modules.rst +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/images/Logo Full.png +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/images/Logo Square.png +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/images/Logo White.png +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/images/repository-image-crop.png +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/images/repository-image-white.png +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/images/repository-image.png +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/config/config.json +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/pkg_data/chemistry.pkl +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/pkg_data/passwordlib_lzma.pkl +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/pkg_data/tarot.pkl +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/src/absfuyu/py.typed +0 -0
- {absfuyu-5.0.1 → absfuyu-5.2.0}/tests/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: absfuyu
|
|
3
|
-
Version: 5.0
|
|
3
|
+
Version: 5.2.0
|
|
4
4
|
Summary: A small collection of code
|
|
5
5
|
Project-URL: Homepage, https://github.com/AbsoluteWinter/absfuyu-public
|
|
6
6
|
Project-URL: Documentation, https://absolutewinter.github.io/absfuyu-docs/
|
|
@@ -86,7 +86,7 @@ help(absfuyu)
|
|
|
86
86
|
|
|
87
87
|
### Notable features
|
|
88
88
|
|
|
89
|
-
**absfuyu.core**: Provides
|
|
89
|
+
**absfuyu.core**: Provides base components for additional functionalities.
|
|
90
90
|
|
|
91
91
|
```python
|
|
92
92
|
# Decorators that adds info to __doc__
|
|
@@ -104,6 +104,13 @@ for x in [DictExt, IntExt, ListExt, Text]:
|
|
|
104
104
|
x.show_all_methods(print_result=1)
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
+
**absfuyu.tools.Inspector**: An object inspector
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
from absfuyu.tools import Inspector
|
|
111
|
+
print(Inspector(Inspector))
|
|
112
|
+
```
|
|
113
|
+
|
|
107
114
|
There are many additional features available to explore.
|
|
108
115
|
|
|
109
116
|
## **DOCUMENTATION:**
|
|
@@ -35,7 +35,7 @@ help(absfuyu)
|
|
|
35
35
|
|
|
36
36
|
### Notable features
|
|
37
37
|
|
|
38
|
-
**absfuyu.core**: Provides
|
|
38
|
+
**absfuyu.core**: Provides base components for additional functionalities.
|
|
39
39
|
|
|
40
40
|
```python
|
|
41
41
|
# Decorators that adds info to __doc__
|
|
@@ -53,6 +53,13 @@ for x in [DictExt, IntExt, ListExt, Text]:
|
|
|
53
53
|
x.show_all_methods(print_result=1)
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
**absfuyu.tools.Inspector**: An object inspector
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
from absfuyu.tools import Inspector
|
|
60
|
+
print(Inspector(Inspector))
|
|
61
|
+
```
|
|
62
|
+
|
|
56
63
|
There are many additional features available to explore.
|
|
57
64
|
|
|
58
65
|
## **DOCUMENTATION:**
|
|
@@ -33,7 +33,7 @@ extensions = [
|
|
|
33
33
|
# "sphinx.ext.extlinks", # short link
|
|
34
34
|
"sphinx.ext.githubpages",
|
|
35
35
|
"sphinx.ext.napoleon",
|
|
36
|
-
"sphinx.ext.viewcode" # This shows source code
|
|
36
|
+
"sphinx.ext.viewcode", # This shows source code
|
|
37
37
|
"sphinx_copybutton",
|
|
38
38
|
"myst_parser", # Markdown support
|
|
39
39
|
]
|
|
@@ -35,7 +35,7 @@ help(absfuyu)
|
|
|
35
35
|
|
|
36
36
|
## Notable features
|
|
37
37
|
|
|
38
|
-
**absfuyu.core**: Provides
|
|
38
|
+
**absfuyu.core**: Provides base components for additional functionalities.
|
|
39
39
|
|
|
40
40
|
```python
|
|
41
41
|
# Decorators that adds info to __doc__
|
|
@@ -53,6 +53,13 @@ for x in [DictExt, IntExt, ListExt, Text]:
|
|
|
53
53
|
x.show_all_methods(print_result=1)
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
**absfuyu.tools.Inspector**: An object inspector
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
from absfuyu.tools import Inspector
|
|
60
|
+
print(Inspector(Inspector))
|
|
61
|
+
```
|
|
62
|
+
|
|
56
63
|
There are many additional features available to explore.
|
|
57
64
|
|
|
58
65
|
# DEVELOPMENT SETUP
|
|
@@ -153,6 +153,9 @@ clean = [
|
|
|
153
153
|
python -c "print('Cleaning up...DONE')"
|
|
154
154
|
""",
|
|
155
155
|
]
|
|
156
|
+
build_only = [
|
|
157
|
+
"sphinx-build docs docs/build", # Build
|
|
158
|
+
]
|
|
156
159
|
build_private = [
|
|
157
160
|
# -f --force
|
|
158
161
|
# -e --separate
|
|
@@ -164,7 +167,7 @@ build_private = [
|
|
|
164
167
|
build = [
|
|
165
168
|
"clean",
|
|
166
169
|
"sphinx-apidoc -o docs/ src/absfuyu -eM", # Generate
|
|
167
|
-
"
|
|
170
|
+
"build_only", # Build
|
|
168
171
|
]
|
|
169
172
|
live = [
|
|
170
173
|
"sphinx-apidoc -o docs/ src/absfuyu -feM", # Generate
|
|
@@ -3,15 +3,15 @@ ABSFUYU
|
|
|
3
3
|
-------
|
|
4
4
|
COMMAND LINE INTERFACE
|
|
5
5
|
|
|
6
|
-
Version: 5.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 5.2.0
|
|
7
|
+
Date updated: 13/03/2025 (dd/mm/yyyy)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
# Library
|
|
11
11
|
# ---------------------------------------------------------------------------
|
|
12
12
|
try:
|
|
13
13
|
from absfuyu.cli import cli
|
|
14
|
-
except
|
|
14
|
+
except ImportError: # Check for `click`, `colorama`
|
|
15
15
|
from absfuyu.core.dummy_cli import cli
|
|
16
16
|
|
|
17
17
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""
|
|
2
|
+
ABSFUYU CLI
|
|
3
|
+
-----------
|
|
4
|
+
Color
|
|
5
|
+
|
|
6
|
+
Version: 5.2.0
|
|
7
|
+
Date updated: 13/03/2025 (dd/mm/yyyy)
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
# Module Package
|
|
11
|
+
# ---------------------------------------------------------------------------
|
|
12
|
+
__all__ = ["COLOR"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# Library
|
|
16
|
+
# ---------------------------------------------------------------------------
|
|
17
|
+
try:
|
|
18
|
+
import colorama
|
|
19
|
+
except ImportError: # Check for `colorama`
|
|
20
|
+
colorama = None
|
|
21
|
+
|
|
22
|
+
# Color
|
|
23
|
+
# ---------------------------------------------------------------------------
|
|
24
|
+
if colorama is None:
|
|
25
|
+
COLOR = {
|
|
26
|
+
"green": "",
|
|
27
|
+
"GREEN": "",
|
|
28
|
+
"blue": "",
|
|
29
|
+
"BLUE": "",
|
|
30
|
+
"red": "",
|
|
31
|
+
"RED": "",
|
|
32
|
+
"yellow": "",
|
|
33
|
+
"YELLOW": "",
|
|
34
|
+
"reset": "",
|
|
35
|
+
}
|
|
36
|
+
else:
|
|
37
|
+
COLOR = {
|
|
38
|
+
"green": colorama.Fore.LIGHTGREEN_EX,
|
|
39
|
+
"GREEN": colorama.Fore.GREEN,
|
|
40
|
+
"blue": colorama.Fore.LIGHTCYAN_EX,
|
|
41
|
+
"BLUE": colorama.Fore.CYAN,
|
|
42
|
+
"red": colorama.Fore.LIGHTRED_EX,
|
|
43
|
+
"RED": colorama.Fore.RED,
|
|
44
|
+
"yellow": colorama.Fore.LIGHTYELLOW_EX,
|
|
45
|
+
"YELLOW": colorama.Fore.YELLOW,
|
|
46
|
+
"reset": colorama.Fore.RESET,
|
|
47
|
+
}
|
|
@@ -3,18 +3,25 @@ ABSFUYU CLI
|
|
|
3
3
|
-----------
|
|
4
4
|
Config
|
|
5
5
|
|
|
6
|
-
Version: 5.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 5.2.0
|
|
7
|
+
Date updated: 12/03/2025 (dd/mm/yyyy)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
+
# Module Package
|
|
11
|
+
# ---------------------------------------------------------------------------
|
|
10
12
|
__all__ = ["config_group"]
|
|
11
13
|
|
|
14
|
+
|
|
15
|
+
# Library
|
|
16
|
+
# ---------------------------------------------------------------------------
|
|
12
17
|
import click
|
|
13
18
|
|
|
14
19
|
from absfuyu.cli.color import COLOR
|
|
15
20
|
from absfuyu.config import ABSFUYU_CONFIG
|
|
16
21
|
|
|
17
22
|
|
|
23
|
+
# CLI
|
|
24
|
+
# ---------------------------------------------------------------------------
|
|
18
25
|
@click.command()
|
|
19
26
|
@click.option(
|
|
20
27
|
"--setting",
|
|
@@ -3,12 +3,17 @@ ABSFUYU CLI
|
|
|
3
3
|
-----------
|
|
4
4
|
Do
|
|
5
5
|
|
|
6
|
-
Version: 5.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 5.2.0
|
|
7
|
+
Date updated: 12/03/2025 (dd/mm/yyyy)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
+
# Module Package
|
|
11
|
+
# ---------------------------------------------------------------------------
|
|
10
12
|
__all__ = ["do_group"]
|
|
11
13
|
|
|
14
|
+
|
|
15
|
+
# Library
|
|
16
|
+
# ---------------------------------------------------------------------------
|
|
12
17
|
import subprocess
|
|
13
18
|
|
|
14
19
|
import click
|
|
@@ -17,10 +22,12 @@ from absfuyu import __title__
|
|
|
17
22
|
from absfuyu.cli.color import COLOR
|
|
18
23
|
from absfuyu.core import __package_feature__
|
|
19
24
|
from absfuyu.tools.shutdownizer import ShutDownizer
|
|
20
|
-
from absfuyu.util.
|
|
25
|
+
from absfuyu.util.path import Directory
|
|
21
26
|
from absfuyu.version import PkgVersion
|
|
22
27
|
|
|
23
28
|
|
|
29
|
+
# CLI
|
|
30
|
+
# ---------------------------------------------------------------------------
|
|
24
31
|
@click.command()
|
|
25
32
|
@click.option(
|
|
26
33
|
"--force_update/--no-force-update",
|
|
@@ -64,9 +71,9 @@ def install(pkg: str) -> None:
|
|
|
64
71
|
def unzip_files_in_dir(dir: str) -> None:
|
|
65
72
|
"""Unzip every files in directory"""
|
|
66
73
|
|
|
67
|
-
engine =
|
|
68
|
-
engine.
|
|
69
|
-
|
|
74
|
+
engine = Directory(dir)
|
|
75
|
+
engine.decompress()
|
|
76
|
+
click.echo(f"{COLOR['green']}Done!")
|
|
70
77
|
|
|
71
78
|
|
|
72
79
|
@click.command(name="shutdown")
|
|
@@ -3,12 +3,17 @@ ABSFUYU CLI
|
|
|
3
3
|
-----------
|
|
4
4
|
Game
|
|
5
5
|
|
|
6
|
-
Version: 5.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 5.2.0
|
|
7
|
+
Date updated: 12/03/2025 (dd/mm/yyyy)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
+
# Module Package
|
|
11
|
+
# ---------------------------------------------------------------------------
|
|
10
12
|
__all__ = ["game_group"]
|
|
11
13
|
|
|
14
|
+
|
|
15
|
+
# Library
|
|
16
|
+
# ---------------------------------------------------------------------------
|
|
12
17
|
import click
|
|
13
18
|
|
|
14
19
|
from absfuyu.game import game_escapeLoop, game_RockPaperScissors
|
|
@@ -17,6 +22,8 @@ from absfuyu.game.tictactoe import GameMode, TicTacToe
|
|
|
17
22
|
from absfuyu.game.wordle import Wordle
|
|
18
23
|
|
|
19
24
|
|
|
25
|
+
# CLI
|
|
26
|
+
# ---------------------------------------------------------------------------
|
|
20
27
|
@click.command
|
|
21
28
|
@click.option(
|
|
22
29
|
"--hard",
|
|
@@ -3,12 +3,17 @@ ABSFUYU CLI
|
|
|
3
3
|
-----------
|
|
4
4
|
Tool
|
|
5
5
|
|
|
6
|
-
Version: 5.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 5.2.0
|
|
7
|
+
Date updated: 12/03/2025 (dd/mm/yyyy)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
+
# Module Package
|
|
11
|
+
# ---------------------------------------------------------------------------
|
|
10
12
|
__all__ = ["tool_group"]
|
|
11
13
|
|
|
14
|
+
|
|
15
|
+
# Library
|
|
16
|
+
# ---------------------------------------------------------------------------
|
|
12
17
|
from typing import Literal
|
|
13
18
|
|
|
14
19
|
import click
|
|
@@ -17,6 +22,8 @@ from absfuyu.tools.checksum import Checksum
|
|
|
17
22
|
from absfuyu.tools.converter import Base64EncodeDecode, Text2Chemistry
|
|
18
23
|
|
|
19
24
|
|
|
25
|
+
# CLI
|
|
26
|
+
# ---------------------------------------------------------------------------
|
|
20
27
|
@click.command(name="checksum")
|
|
21
28
|
@click.argument("file_path", type=str)
|
|
22
29
|
@click.option(
|
|
@@ -65,13 +72,12 @@ def file_checksum(
|
|
|
65
72
|
hash_to_compare: str | None,
|
|
66
73
|
) -> None:
|
|
67
74
|
"""Checksum for file/directory"""
|
|
68
|
-
# print(hash_mode, save_result, recursive_mode)
|
|
69
75
|
instance = Checksum(file_path, hash_mode=hash_mode, save_result_to_file=save_result)
|
|
70
76
|
res = instance.checksum(recursive=recursive_mode)
|
|
71
77
|
if hash_to_compare is None:
|
|
72
|
-
|
|
78
|
+
click.echo(res)
|
|
73
79
|
else:
|
|
74
|
-
|
|
80
|
+
click.echo(res == hash_to_compare)
|
|
75
81
|
|
|
76
82
|
|
|
77
83
|
@click.command(name="t2c")
|
|
@@ -80,21 +86,21 @@ def text2chem(text: str) -> None:
|
|
|
80
86
|
"""Convert text into chemistry symbol"""
|
|
81
87
|
engine = Text2Chemistry()
|
|
82
88
|
out = engine.convert(text)
|
|
83
|
-
|
|
89
|
+
click.echo(Text2Chemistry.beautify_result(out))
|
|
84
90
|
|
|
85
91
|
|
|
86
92
|
@click.command(name="e")
|
|
87
93
|
@click.argument("text", type=str)
|
|
88
94
|
def base64encode(text: str) -> None:
|
|
89
95
|
"""Convert text to base64"""
|
|
90
|
-
|
|
96
|
+
click.echo(Base64EncodeDecode.encode(text))
|
|
91
97
|
|
|
92
98
|
|
|
93
99
|
@click.command(name="d")
|
|
94
100
|
@click.argument("text", type=str)
|
|
95
101
|
def base64decode(text: str) -> None:
|
|
96
102
|
"""Convert base64 to text"""
|
|
97
|
-
|
|
103
|
+
click.echo(Base64EncodeDecode.decode(text))
|
|
98
104
|
|
|
99
105
|
|
|
100
106
|
@click.command(name="img")
|
|
@@ -111,7 +117,7 @@ def base64decode(text: str) -> None:
|
|
|
111
117
|
@click.argument("img_path", type=str)
|
|
112
118
|
def base64convert_img(img_path: str, data_tag: bool) -> None:
|
|
113
119
|
"""Convert img to base64"""
|
|
114
|
-
|
|
120
|
+
click.echo(Base64EncodeDecode.encode_image(img_path, data_tag=data_tag))
|
|
115
121
|
|
|
116
122
|
|
|
117
123
|
@click.group(name="b64")
|