absfuyu 5.0.1__py3-none-any.whl → 5.2.0__py3-none-any.whl

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 (72) hide show
  1. absfuyu/__init__.py +1 -1
  2. absfuyu/__main__.py +3 -3
  3. absfuyu/cli/__init__.py +2 -2
  4. absfuyu/cli/color.py +30 -14
  5. absfuyu/cli/config_group.py +9 -2
  6. absfuyu/cli/do_group.py +13 -6
  7. absfuyu/cli/game_group.py +9 -2
  8. absfuyu/cli/tool_group.py +15 -9
  9. absfuyu/config/__init__.py +2 -2
  10. absfuyu/core/__init__.py +2 -2
  11. absfuyu/core/baseclass.py +448 -79
  12. absfuyu/core/baseclass2.py +2 -2
  13. absfuyu/core/decorator.py +70 -4
  14. absfuyu/core/docstring.py +43 -25
  15. absfuyu/core/dummy_cli.py +2 -2
  16. absfuyu/core/dummy_func.py +15 -4
  17. absfuyu/dxt/__init__.py +2 -2
  18. absfuyu/dxt/dictext.py +5 -2
  19. absfuyu/dxt/dxt_support.py +2 -2
  20. absfuyu/dxt/intext.py +34 -3
  21. absfuyu/dxt/listext.py +300 -113
  22. absfuyu/dxt/strext.py +75 -15
  23. absfuyu/extra/__init__.py +2 -2
  24. absfuyu/extra/beautiful.py +2 -2
  25. absfuyu/extra/da/__init__.py +36 -0
  26. absfuyu/extra/da/dadf.py +1177 -0
  27. absfuyu/extra/da/dadf_base.py +186 -0
  28. absfuyu/extra/da/df_func.py +97 -0
  29. absfuyu/extra/da/mplt.py +219 -0
  30. absfuyu/extra/data_analysis.py +10 -1067
  31. absfuyu/fun/__init__.py +2 -2
  32. absfuyu/fun/tarot.py +2 -2
  33. absfuyu/game/__init__.py +2 -2
  34. absfuyu/game/game_stat.py +2 -2
  35. absfuyu/game/sudoku.py +2 -2
  36. absfuyu/game/tictactoe.py +2 -3
  37. absfuyu/game/wordle.py +2 -2
  38. absfuyu/general/__init__.py +2 -2
  39. absfuyu/general/content.py +2 -2
  40. absfuyu/general/human.py +2 -2
  41. absfuyu/general/shape.py +2 -2
  42. absfuyu/logger.py +2 -2
  43. absfuyu/pkg_data/__init__.py +2 -2
  44. absfuyu/pkg_data/deprecated.py +2 -2
  45. absfuyu/sort.py +2 -2
  46. absfuyu/tools/__init__.py +28 -2
  47. absfuyu/tools/checksum.py +27 -7
  48. absfuyu/tools/converter.py +120 -34
  49. absfuyu/tools/generator.py +251 -110
  50. absfuyu/tools/inspector.py +463 -0
  51. absfuyu/tools/keygen.py +2 -2
  52. absfuyu/tools/obfuscator.py +45 -7
  53. absfuyu/tools/passwordlib.py +88 -24
  54. absfuyu/tools/shutdownizer.py +2 -2
  55. absfuyu/tools/web.py +2 -2
  56. absfuyu/typings.py +136 -0
  57. absfuyu/util/__init__.py +18 -4
  58. absfuyu/util/api.py +36 -16
  59. absfuyu/util/json_method.py +43 -14
  60. absfuyu/util/lunar.py +2 -2
  61. absfuyu/util/path.py +190 -82
  62. absfuyu/util/performance.py +122 -7
  63. absfuyu/util/shorten_number.py +40 -10
  64. absfuyu/util/text_table.py +306 -0
  65. absfuyu/util/zipped.py +8 -7
  66. absfuyu/version.py +2 -2
  67. {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/METADATA +9 -2
  68. absfuyu-5.2.0.dist-info/RECORD +76 -0
  69. absfuyu-5.0.1.dist-info/RECORD +0 -68
  70. {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/WHEEL +0 -0
  71. {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/entry_points.txt +0 -0
  72. {absfuyu-5.0.1.dist-info → absfuyu-5.2.0.dist-info}/licenses/LICENSE +0 -0
absfuyu/__init__.py CHANGED
@@ -22,7 +22,7 @@ Using in cmd:
22
22
  __title__ = "absfuyu"
23
23
  __author__ = "AbsoluteWinter"
24
24
  __license__ = "MIT License"
25
- __version__ = "5.0.1"
25
+ __version__ = "5.2.0"
26
26
  __all__ = [
27
27
  "core",
28
28
  "config",
absfuyu/__main__.py CHANGED
@@ -3,15 +3,15 @@ ABSFUYU
3
3
  -------
4
4
  COMMAND LINE INTERFACE
5
5
 
6
- Version: 5.0.0
7
- Date updated: 25/02/2025 (dd/mm/yyyy)
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 ModuleNotFoundError: # Check for `click`, `colorama`
14
+ except ImportError: # Check for `click`, `colorama`
15
15
  from absfuyu.core.dummy_cli import cli
16
16
 
17
17
 
absfuyu/cli/__init__.py CHANGED
@@ -3,8 +3,8 @@ ABSFUYU
3
3
  -------
4
4
  COMMAND LINE INTERFACE
5
5
 
6
- Version: 5.0.0
7
- Date updated: 16/02/2025 (dd/mm/yyyy)
6
+ Version: 5.2.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  __all__ = ["cli"]
absfuyu/cli/color.py CHANGED
@@ -3,8 +3,8 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Color
5
5
 
6
- Version: 5.0.0
7
- Date updated: 22/02/2025 (dd/mm/yyyy)
6
+ Version: 5.2.0
7
+ Date updated: 13/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -14,18 +14,34 @@ __all__ = ["COLOR"]
14
14
 
15
15
  # Library
16
16
  # ---------------------------------------------------------------------------
17
- import colorama
17
+ try:
18
+ import colorama
19
+ except ImportError: # Check for `colorama`
20
+ colorama = None
18
21
 
19
22
  # Color
20
23
  # ---------------------------------------------------------------------------
21
- COLOR = {
22
- "green": colorama.Fore.LIGHTGREEN_EX,
23
- "GREEN": colorama.Fore.GREEN,
24
- "blue": colorama.Fore.LIGHTCYAN_EX,
25
- "BLUE": colorama.Fore.CYAN,
26
- "red": colorama.Fore.LIGHTRED_EX,
27
- "RED": colorama.Fore.RED,
28
- "yellow": colorama.Fore.LIGHTYELLOW_EX,
29
- "YELLOW": colorama.Fore.YELLOW,
30
- "reset": colorama.Fore.RESET,
31
- }
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.0.0
7
- Date updated: 16/02/2025 (dd/mm/yyyy)
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",
absfuyu/cli/do_group.py CHANGED
@@ -3,12 +3,17 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Do
5
5
 
6
- Version: 5.0.0
7
- Date updated: 25/02/2025 (dd/mm/yyyy)
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.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")
absfuyu/cli/game_group.py CHANGED
@@ -3,12 +3,17 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Game
5
5
 
6
- Version: 5.0.0
7
- Date updated: 16/02/2025 (dd/mm/yyyy)
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",
absfuyu/cli/tool_group.py CHANGED
@@ -3,12 +3,17 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Tool
5
5
 
6
- Version: 5.0.0
7
- Date updated: 22/02/2025 (dd/mm/yyyy)
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
- print(res)
78
+ click.echo(res)
73
79
  else:
74
- print(res == hash_to_compare)
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
- print(Text2Chemistry.beautify_result(out))
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
- print(Base64EncodeDecode.encode(text))
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
- print(Base64EncodeDecode.decode(text))
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
- print(Base64EncodeDecode.encode_image(img_path, data_tag=data_tag))
120
+ click.echo(Base64EncodeDecode.encode_image(img_path, data_tag=data_tag))
115
121
 
116
122
 
117
123
  @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: 22/02/2025 (dd/mm/yyyy)
6
+ Version: 5.2.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/core/__init__.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Bases for other features
5
5
 
6
- Version: 5.0.0
7
- Date updated: 25/02/2025 (dd/mm/yyyy)
6
+ Version: 5.2.0
7
+ Date updated: 10/03/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package