absfuyu 5.0.0__tar.gz → 5.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.

Potentially problematic release.


This version of absfuyu might be problematic. Click here for more details.

Files changed (127) hide show
  1. {absfuyu-5.0.0 → absfuyu-5.1.0}/PKG-INFO +10 -3
  2. {absfuyu-5.0.0 → absfuyu-5.1.0}/README.md +9 -2
  3. {absfuyu-5.0.0 → absfuyu-5.1.0}/dev_requirements.txt +1 -1
  4. {absfuyu-5.0.0 → absfuyu-5.1.0}/docs/conf.py +1 -1
  5. {absfuyu-5.0.0 → absfuyu-5.1.0}/docs/info.md +8 -1
  6. {absfuyu-5.0.0 → absfuyu-5.1.0}/pyproject.toml +6 -3
  7. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/__init__.py +1 -1
  8. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/__main__.py +2 -2
  9. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/cli/__init__.py +2 -2
  10. absfuyu-5.1.0/src/absfuyu/cli/color.py +47 -0
  11. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/cli/config_group.py +9 -2
  12. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/cli/do_group.py +13 -6
  13. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/cli/game_group.py +9 -2
  14. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/cli/tool_group.py +16 -9
  15. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/config/__init__.py +2 -2
  16. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/core/__init__.py +2 -2
  17. absfuyu-5.1.0/src/absfuyu/core/baseclass.py +668 -0
  18. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/core/baseclass2.py +2 -2
  19. absfuyu-5.1.0/src/absfuyu/core/decorator.py +133 -0
  20. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/core/docstring.py +25 -22
  21. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/core/dummy_cli.py +2 -2
  22. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/core/dummy_func.py +19 -6
  23. absfuyu-5.1.0/src/absfuyu/core/typings.py +40 -0
  24. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/dxt/__init__.py +2 -2
  25. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/dxt/dictext.py +2 -2
  26. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/dxt/dxt_support.py +2 -2
  27. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/dxt/intext.py +31 -3
  28. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/dxt/listext.py +28 -3
  29. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/dxt/strext.py +3 -3
  30. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/extra/__init__.py +2 -2
  31. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/extra/beautiful.py +3 -2
  32. absfuyu-5.1.0/src/absfuyu/extra/da/__init__.py +36 -0
  33. absfuyu-5.1.0/src/absfuyu/extra/da/dadf.py +1138 -0
  34. absfuyu-5.1.0/src/absfuyu/extra/da/dadf_base.py +186 -0
  35. absfuyu-5.1.0/src/absfuyu/extra/da/df_func.py +97 -0
  36. absfuyu-5.1.0/src/absfuyu/extra/da/mplt.py +219 -0
  37. absfuyu-5.1.0/src/absfuyu/extra/data_analysis.py +21 -0
  38. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/fun/__init__.py +2 -2
  39. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/fun/tarot.py +2 -2
  40. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/game/__init__.py +2 -2
  41. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/game/game_stat.py +2 -2
  42. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/game/sudoku.py +2 -2
  43. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/game/tictactoe.py +2 -2
  44. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/game/wordle.py +2 -2
  45. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/general/__init__.py +4 -4
  46. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/general/content.py +2 -2
  47. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/general/human.py +2 -2
  48. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/general/shape.py +2 -2
  49. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/logger.py +2 -2
  50. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/pkg_data/__init__.py +2 -2
  51. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/pkg_data/deprecated.py +2 -2
  52. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/sort.py +2 -2
  53. absfuyu-5.1.0/src/absfuyu/tools/__init__.py +31 -0
  54. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/tools/checksum.py +27 -7
  55. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/tools/converter.py +93 -28
  56. {absfuyu-5.0.0/src/absfuyu/general → absfuyu-5.1.0/src/absfuyu/tools}/generator.py +2 -2
  57. absfuyu-5.1.0/src/absfuyu/tools/inspector.py +433 -0
  58. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/tools/keygen.py +2 -2
  59. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/tools/obfuscator.py +46 -8
  60. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/tools/passwordlib.py +88 -23
  61. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/tools/shutdownizer.py +2 -2
  62. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/tools/web.py +2 -2
  63. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/__init__.py +2 -2
  64. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/api.py +2 -2
  65. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/json_method.py +2 -2
  66. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/lunar.py +2 -2
  67. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/path.py +190 -82
  68. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/performance.py +4 -4
  69. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/shorten_number.py +40 -10
  70. absfuyu-5.1.0/src/absfuyu/util/text_table.py +272 -0
  71. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/util/zipped.py +6 -6
  72. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/version.py +59 -42
  73. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/conftest.py +2 -2
  74. absfuyu-5.1.0/tests/test_api.py +41 -0
  75. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_beautiful.py +7 -0
  76. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_config.py +2 -2
  77. absfuyu-5.1.0/tests/test_converter.py +49 -0
  78. absfuyu-5.1.0/tests/test_core.py +392 -0
  79. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_data_analysis.py +89 -5
  80. absfuyu-5.1.0/tests/test_dictext.py +68 -0
  81. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_everything.py +51 -12
  82. absfuyu-5.0.0/tests/test_extensions.py → absfuyu-5.1.0/tests/test_extra.py +3 -3
  83. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_fun.py +2 -2
  84. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_game.py +2 -2
  85. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_generator.py +3 -3
  86. absfuyu-5.1.0/tests/test_inspector.py +78 -0
  87. absfuyu-5.1.0/tests/test_intext.py +153 -0
  88. absfuyu-5.1.0/tests/test_listext.py +132 -0
  89. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_logger.py +2 -2
  90. absfuyu-5.0.0/tests/test_tools.py → absfuyu-5.1.0/tests/test_obfuscator.py +3 -65
  91. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_passwordlib.py +2 -2
  92. absfuyu-5.1.0/tests/test_performance.py +66 -0
  93. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_pkg_data.py +2 -2
  94. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_shape.py +2 -2
  95. absfuyu-5.1.0/tests/test_shorten_number.py +34 -0
  96. absfuyu-5.1.0/tests/test_strext.py +181 -0
  97. absfuyu-5.1.0/tests/test_text_table.py +114 -0
  98. absfuyu-5.1.0/tests/test_tools.py +30 -0
  99. absfuyu-5.1.0/tests/test_util.py +55 -0
  100. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/test_version.py +2 -2
  101. absfuyu-5.0.0/src/absfuyu/cli/color.py +0 -31
  102. absfuyu-5.0.0/src/absfuyu/core/baseclass.py +0 -299
  103. absfuyu-5.0.0/src/absfuyu/core/decorator.py +0 -67
  104. absfuyu-5.0.0/src/absfuyu/extra/data_analysis.py +0 -1078
  105. absfuyu-5.0.0/src/absfuyu/tools/__init__.py +0 -8
  106. absfuyu-5.0.0/tests/test_core.py +0 -215
  107. absfuyu-5.0.0/tests/test_data_extension.py +0 -502
  108. absfuyu-5.0.0/tests/test_util.py +0 -163
  109. {absfuyu-5.0.0 → absfuyu-5.1.0}/.gitignore +0 -0
  110. {absfuyu-5.0.0 → absfuyu-5.1.0}/LICENSE +0 -0
  111. {absfuyu-5.0.0 → absfuyu-5.1.0}/docs/Makefile +0 -0
  112. {absfuyu-5.0.0 → absfuyu-5.1.0}/docs/_template/versioning.html +0 -0
  113. {absfuyu-5.0.0 → absfuyu-5.1.0}/docs/index.rst +0 -0
  114. {absfuyu-5.0.0 → absfuyu-5.1.0}/docs/make.bat +0 -0
  115. {absfuyu-5.0.0 → absfuyu-5.1.0}/docs/modules.rst +0 -0
  116. {absfuyu-5.0.0 → absfuyu-5.1.0}/images/Logo Full.png +0 -0
  117. {absfuyu-5.0.0 → absfuyu-5.1.0}/images/Logo Square.png +0 -0
  118. {absfuyu-5.0.0 → absfuyu-5.1.0}/images/Logo White.png +0 -0
  119. {absfuyu-5.0.0 → absfuyu-5.1.0}/images/repository-image-crop.png +0 -0
  120. {absfuyu-5.0.0 → absfuyu-5.1.0}/images/repository-image-white.png +0 -0
  121. {absfuyu-5.0.0 → absfuyu-5.1.0}/images/repository-image.png +0 -0
  122. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/config/config.json +0 -0
  123. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/pkg_data/chemistry.pkl +0 -0
  124. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/pkg_data/passwordlib_lzma.pkl +0 -0
  125. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/pkg_data/tarot.pkl +0 -0
  126. {absfuyu-5.0.0 → absfuyu-5.1.0}/src/absfuyu/py.typed +0 -0
  127. {absfuyu-5.0.0 → absfuyu-5.1.0}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: absfuyu
3
- Version: 5.0.0
3
+ Version: 5.1.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 foundational components for additional functionalities.
89
+ **absfuyu.core**: Provides base components for additional functionalities.
90
90
 
91
91
  ```python
92
92
  # Decorators that adds info to __doc__
@@ -104,13 +104,20 @@ 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:**
110
117
 
111
118
  For more detailed information about the project, please refer to the documentation available at the following link:
112
119
 
113
- > [Project Documentation](https://absolutewinter.github.io/absfuyu/)
120
+ > [Project Documentation](https://absolutewinter.github.io/absfuyu-docs/)
114
121
 
115
122
  ## **DEVELOPMENT SETUP**
116
123
 
@@ -35,7 +35,7 @@ help(absfuyu)
35
35
 
36
36
  ### Notable features
37
37
 
38
- **absfuyu.core**: Provides foundational components for additional functionalities.
38
+ **absfuyu.core**: Provides base components for additional functionalities.
39
39
 
40
40
  ```python
41
41
  # Decorators that adds info to __doc__
@@ -53,13 +53,20 @@ 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:**
59
66
 
60
67
  For more detailed information about the project, please refer to the documentation available at the following link:
61
68
 
62
- > [Project Documentation](https://absolutewinter.github.io/absfuyu/)
69
+ > [Project Documentation](https://absolutewinter.github.io/absfuyu-docs/)
63
70
 
64
71
  ## **DEVELOPMENT SETUP**
65
72
 
@@ -4,7 +4,7 @@ pytest-cov
4
4
  black
5
5
  mypy
6
6
  ruff
7
- sphinx>=7.0.0
7
+ sphinx>=8.1.0
8
8
  sphinx_rtd_theme
9
9
  sphinx_copybutton
10
10
  myst-parser
@@ -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 foundational components for additional functionalities.
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
@@ -77,7 +77,7 @@ only-include = ["src", "tests", "docs", "images", "dev_requirements.txt"]
77
77
 
78
78
  # Set up virtual env: use hatch env show
79
79
  [tool.hatch.envs.default]
80
- dependencies = ["coverage[toml]", "pytest", "pytest-cov"]
80
+ dependencies = ["coverage[toml]", "pytest", "pytest-cov", "pytest-mock"]
81
81
  description = """
82
82
  Default environment
83
83
 
@@ -95,7 +95,7 @@ cov = ["test-cov", "cov-report"] # use this
95
95
  cov2 = "pytest --cov-report=term-missing --cov=absfuyu --cov=tests" # use this
96
96
 
97
97
  [tool.hatch.envs.all]
98
- dependencies = ["coverage[toml]", "pytest", "pytest-cov", "pytest-xdist"]
98
+ dependencies = ["coverage[toml]", "pytest", "pytest-cov", "pytest-mock", "pytest-xdist"]
99
99
  features = ["full"]
100
100
  description = """
101
101
  All python version to test:
@@ -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
- "sphinx-build docs docs/build", # Build
170
+ "build_only", # Build
168
171
  ]
169
172
  live = [
170
173
  "sphinx-apidoc -o docs/ src/absfuyu -feM", # Generate
@@ -22,7 +22,7 @@ Using in cmd:
22
22
  __title__ = "absfuyu"
23
23
  __author__ = "AbsoluteWinter"
24
24
  __license__ = "MIT License"
25
- __version__ = "5.0.0"
25
+ __version__ = "5.1.0"
26
26
  __all__ = [
27
27
  "core",
28
28
  "config",
@@ -3,8 +3,8 @@ ABSFUYU
3
3
  -------
4
4
  COMMAND LINE INTERFACE
5
5
 
6
- Version: 5.0.0
7
- Date updated: 18/02/2025 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Library
@@ -3,8 +3,8 @@ ABSFUYU
3
3
  -------
4
4
  COMMAND LINE INTERFACE
5
5
 
6
- Version: 1.1.0
7
- Date updated: 09/02/2025 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  __all__ = ["cli"]
@@ -0,0 +1,47 @@
1
+ """
2
+ ABSFUYU CLI
3
+ -----------
4
+ Color
5
+
6
+ Version: 5.1.0
7
+ Date updated: 10/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 ModuleNotFoundError: # 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: 1.0.0
7
- Date updated: 14/04/2024 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/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: 1.4.0
7
- Date updated: 07/02/2025 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/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.zipped import Zipper
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 = Zipper(dir)
68
- engine.unzip()
69
- print("Done")
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: 1.0.0
7
- Date updated: 14/04/2024 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/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,18 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Tool
5
5
 
6
- Version: 1.0.0
7
- Date updated: 10/02/2025 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
+
11
+ # Module Package
12
+ # ---------------------------------------------------------------------------
10
13
  __all__ = ["tool_group"]
11
14
 
15
+
16
+ # Library
17
+ # ---------------------------------------------------------------------------
12
18
  from typing import Literal
13
19
 
14
20
  import click
@@ -17,6 +23,8 @@ from absfuyu.tools.checksum import Checksum
17
23
  from absfuyu.tools.converter import Base64EncodeDecode, Text2Chemistry
18
24
 
19
25
 
26
+ # CLI
27
+ # ---------------------------------------------------------------------------
20
28
  @click.command(name="checksum")
21
29
  @click.argument("file_path", type=str)
22
30
  @click.option(
@@ -65,13 +73,12 @@ def file_checksum(
65
73
  hash_to_compare: str | None,
66
74
  ) -> None:
67
75
  """Checksum for file/directory"""
68
- # print(hash_mode, save_result, recursive_mode)
69
76
  instance = Checksum(file_path, hash_mode=hash_mode, save_result_to_file=save_result)
70
77
  res = instance.checksum(recursive=recursive_mode)
71
78
  if hash_to_compare is None:
72
- print(res)
79
+ click.echo(res)
73
80
  else:
74
- print(res == hash_to_compare)
81
+ click.echo(res == hash_to_compare)
75
82
 
76
83
 
77
84
  @click.command(name="t2c")
@@ -80,21 +87,21 @@ def text2chem(text: str) -> None:
80
87
  """Convert text into chemistry symbol"""
81
88
  engine = Text2Chemistry()
82
89
  out = engine.convert(text)
83
- print(Text2Chemistry.beautify_result(out))
90
+ click.echo(Text2Chemistry.beautify_result(out))
84
91
 
85
92
 
86
93
  @click.command(name="e")
87
94
  @click.argument("text", type=str)
88
95
  def base64encode(text: str) -> None:
89
96
  """Convert text to base64"""
90
- print(Base64EncodeDecode.encode(text))
97
+ click.echo(Base64EncodeDecode.encode(text))
91
98
 
92
99
 
93
100
  @click.command(name="d")
94
101
  @click.argument("text", type=str)
95
102
  def base64decode(text: str) -> None:
96
103
  """Convert base64 to text"""
97
- print(Base64EncodeDecode.decode(text))
104
+ click.echo(Base64EncodeDecode.decode(text))
98
105
 
99
106
 
100
107
  @click.command(name="img")
@@ -111,7 +118,7 @@ def base64decode(text: str) -> None:
111
118
  @click.argument("img_path", type=str)
112
119
  def base64convert_img(img_path: str, data_tag: bool) -> None:
113
120
  """Convert img to base64"""
114
- print(Base64EncodeDecode.encode_image(img_path, data_tag=data_tag))
121
+ click.echo(Base64EncodeDecode.encode_image(img_path, data_tag=data_tag))
115
122
 
116
123
 
117
124
  @click.group(name="b64")
@@ -3,8 +3,8 @@ Absfuyu: Configuration
3
3
  ----------------------
4
4
  Package configuration module
5
5
 
6
- Version: 5.0.0
7
- Date updated: 12/02/2025 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Bases for other features
5
5
 
6
- Version: 5.0.0
7
- Date updated: 13/02/2025 (dd/mm/yyyy)
6
+ Version: 5.1.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package