absfuyu 5.6.1__py3-none-any.whl → 5.8.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 (77) hide show
  1. absfuyu/__init__.py +1 -1
  2. absfuyu/__main__.py +2 -2
  3. absfuyu/cli/__init__.py +2 -2
  4. absfuyu/cli/color.py +2 -2
  5. absfuyu/cli/config_group.py +2 -2
  6. absfuyu/cli/do_group.py +2 -2
  7. absfuyu/cli/game_group.py +2 -2
  8. absfuyu/cli/tool_group.py +2 -2
  9. absfuyu/config/__init__.py +2 -2
  10. absfuyu/core/__init__.py +2 -2
  11. absfuyu/core/baseclass.py +2 -2
  12. absfuyu/core/baseclass2.py +2 -2
  13. absfuyu/core/decorator.py +2 -2
  14. absfuyu/core/docstring.py +2 -2
  15. absfuyu/core/dummy_cli.py +2 -2
  16. absfuyu/core/dummy_func.py +2 -2
  17. absfuyu/dxt/__init__.py +2 -2
  18. absfuyu/dxt/dictext.py +2 -2
  19. absfuyu/dxt/dxt_support.py +2 -2
  20. absfuyu/dxt/intext.py +2 -2
  21. absfuyu/dxt/listext.py +2 -2
  22. absfuyu/dxt/strext.py +2 -2
  23. absfuyu/extra/__init__.py +2 -2
  24. absfuyu/extra/beautiful.py +2 -2
  25. absfuyu/extra/da/__init__.py +4 -2
  26. absfuyu/extra/da/dadf.py +148 -13
  27. absfuyu/extra/da/dadf_base.py +2 -2
  28. absfuyu/extra/da/df_func.py +2 -2
  29. absfuyu/extra/da/mplt.py +2 -2
  30. absfuyu/extra/data_analysis.py +2 -2
  31. absfuyu/extra/pdf.py +2 -4
  32. absfuyu/extra/xml.py +90 -0
  33. absfuyu/fun/__init__.py +2 -2
  34. absfuyu/fun/rubik.py +2 -2
  35. absfuyu/fun/tarot.py +2 -2
  36. absfuyu/game/__init__.py +2 -2
  37. absfuyu/game/game_stat.py +2 -2
  38. absfuyu/game/sudoku.py +2 -2
  39. absfuyu/game/tictactoe.py +2 -2
  40. absfuyu/game/wordle.py +2 -2
  41. absfuyu/general/__init__.py +2 -2
  42. absfuyu/general/content.py +2 -2
  43. absfuyu/general/human.py +2 -2
  44. absfuyu/general/shape.py +2 -2
  45. absfuyu/logger.py +2 -2
  46. absfuyu/pkg_data/__init__.py +2 -2
  47. absfuyu/pkg_data/deprecated.py +2 -2
  48. absfuyu/pkg_data/logo.py +1462 -0
  49. absfuyu/sort.py +2 -2
  50. absfuyu/tools/__init__.py +2 -2
  51. absfuyu/tools/checksum.py +2 -2
  52. absfuyu/tools/converter.py +2 -2
  53. absfuyu/tools/generator.py +2 -2
  54. absfuyu/tools/inspector.py +2 -2
  55. absfuyu/tools/keygen.py +2 -2
  56. absfuyu/tools/obfuscator.py +2 -2
  57. absfuyu/tools/passwordlib.py +2 -2
  58. absfuyu/tools/shutdownizer.py +2 -2
  59. absfuyu/tools/sw.py +2 -2
  60. absfuyu/tools/web.py +2 -2
  61. absfuyu/typings.py +2 -2
  62. absfuyu/util/__init__.py +2 -2
  63. absfuyu/util/api.py +2 -2
  64. absfuyu/util/json_method.py +2 -2
  65. absfuyu/util/lunar.py +2 -2
  66. absfuyu/util/path.py +2 -2
  67. absfuyu/util/performance.py +2 -2
  68. absfuyu/util/shorten_number.py +2 -2
  69. absfuyu/util/text_table.py +2 -2
  70. absfuyu/util/zipped.py +2 -2
  71. absfuyu/version.py +2 -2
  72. {absfuyu-5.6.1.dist-info → absfuyu-5.8.0.dist-info}/METADATA +14 -4
  73. absfuyu-5.8.0.dist-info/RECORD +81 -0
  74. absfuyu-5.6.1.dist-info/RECORD +0 -79
  75. {absfuyu-5.6.1.dist-info → absfuyu-5.8.0.dist-info}/WHEEL +0 -0
  76. {absfuyu-5.6.1.dist-info → absfuyu-5.8.0.dist-info}/entry_points.txt +0 -0
  77. {absfuyu-5.6.1.dist-info → absfuyu-5.8.0.dist-info}/licenses/LICENSE +0 -0
absfuyu/extra/xml.py ADDED
@@ -0,0 +1,90 @@
1
+ """
2
+ Absfuyu: XML
3
+ ------------
4
+ XML Tool [W.I.P]
5
+
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
+ """
9
+
10
+ # Module level
11
+ # ---------------------------------------------------------------------------
12
+ __all__ = ["XML2Dict"]
13
+
14
+
15
+ # Library
16
+ # ---------------------------------------------------------------------------
17
+ from pathlib import Path
18
+ from typing import Any, Self
19
+
20
+ from absfuyu.core.baseclass import GetClassMembersMixin
21
+
22
+ XML_MODE = False
23
+
24
+ try:
25
+ import xmltodict
26
+ except ImportError:
27
+ from subprocess import run
28
+
29
+ from absfuyu.config import ABSFUYU_CONFIG
30
+
31
+ if ABSFUYU_CONFIG._get_setting("auto-install-extra").value: # type: ignore
32
+ cmd = "python -m pip install -U absfuyu[full]".split()
33
+ run(cmd)
34
+ else:
35
+ raise SystemExit("This feature is in absfuyu[full] package") # noqa: B904
36
+ else:
37
+ XML_MODE = True
38
+
39
+
40
+ # Class
41
+ # ---------------------------------------------------------------------------
42
+ class XML2Dict(GetClassMembersMixin):
43
+ """
44
+ Automatically convert .xml file to dict
45
+
46
+
47
+ Usage
48
+ -----
49
+ >>> XML2Dict(<path>)
50
+ >>> XML2Dict.parsed_data
51
+ """
52
+
53
+ def __init__(self, text: str) -> None:
54
+ """
55
+ Automatically convert .xml file to dict
56
+
57
+ Parameters
58
+ ----------
59
+ text : str
60
+ ``.xml`` format text
61
+ """
62
+ self._text = text
63
+
64
+ self.parsed_data: dict[str, Any] = self._parse_xml()
65
+
66
+ def __repr__(self) -> str:
67
+ return f"{self.__class__.__name__}()"
68
+
69
+ def _parse_xml(self) -> dict[str, Any]:
70
+ """Convert xml to dict"""
71
+ return xmltodict.parse(self._text, encoding="utf-8") # type: ignore
72
+
73
+ @classmethod
74
+ def from_path(cls, xml_path: str | Path) -> Self:
75
+ """
76
+ Convert from .xml file path
77
+
78
+ Parameters
79
+ ----------
80
+ xml_path : str | Path
81
+ Path to .xml file
82
+
83
+ Returns
84
+ -------
85
+ Self
86
+ xml to dict
87
+ """
88
+ with Path(xml_path).open("r", encoding="utf-8") as f:
89
+ dat = "\n".join(f.readlines())
90
+ return cls(dat)
absfuyu/fun/__init__.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Fun
3
3
  ------------
4
4
  Some fun or weird stuff
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/fun/rubik.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Fun
3
3
  ------------
4
4
  Rubik
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
 
9
9
 
10
10
  Version added: 5.4.0
absfuyu/fun/tarot.py CHANGED
@@ -4,8 +4,8 @@ Absfuyu: Tarot
4
4
  Tarot stuff
5
5
 
6
6
 
7
- Version: 5.6.1
8
- Date updated: 12/09/2025 (dd/mm/yyyy)
7
+ Version: 5.8.0
8
+ Date updated: 16/09/2025 (dd/mm/yyyy)
9
9
 
10
10
  Usage:
11
11
  ------
absfuyu/game/__init__.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Game
3
3
  -------------
4
4
  Contain some game that can be played on terminal
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/game/game_stat.py CHANGED
@@ -1,8 +1,8 @@
1
1
  """
2
2
  Game: Game Stat
3
3
 
4
- Version: 5.6.1
5
- Date updated: 12/09/2025 (dd/mm/yyyy)
4
+ Version: 5.8.0
5
+ Date updated: 16/09/2025 (dd/mm/yyyy)
6
6
  """
7
7
 
8
8
  # Module level
absfuyu/game/sudoku.py CHANGED
@@ -3,8 +3,8 @@ Game: Sudoku
3
3
  ------------
4
4
  Sudoku 9x9 Solver
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Credit:
10
10
  -------
absfuyu/game/tictactoe.py CHANGED
@@ -2,8 +2,8 @@
2
2
  Game: Tic Tac Toe
3
3
  -----------------
4
4
 
5
- Version: 5.6.1
6
- Date updated: 12/09/2025 (dd/mm/yyyy)
5
+ Version: 5.8.0
6
+ Date updated: 16/09/2025 (dd/mm/yyyy)
7
7
  """
8
8
 
9
9
  # Module level
absfuyu/game/wordle.py CHANGED
@@ -2,8 +2,8 @@
2
2
  Game: Wordle Solver
3
3
  -------------------
4
4
 
5
- Version: 5.6.1
6
- Date updated: 12/09/2025 (dd/mm/yyyy)
5
+ Version: 5.8.0
6
+ Date updated: 16/09/2025 (dd/mm/yyyy)
7
7
 
8
8
  Usage:
9
9
  ------
@@ -3,8 +3,8 @@ Absfuyu: General
3
3
  ----------------
4
4
  Collection of useful classes
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Features:
10
10
  ---------
@@ -3,8 +3,8 @@ Absfuyu: Content
3
3
  ----------------
4
4
  Handle .txt file
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Usage:
10
10
  ------
absfuyu/general/human.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Human
3
3
  --------------
4
4
  Human related stuff
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/general/shape.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Shape
3
3
  --------------
4
4
  Shapes
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/logger.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Logger
3
3
  ---------------
4
4
  Custom Logger Module
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Usage:
10
10
  ------
@@ -3,8 +3,8 @@ Absfuyu: Package data
3
3
  ---------------------
4
4
  Load package data
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Package data
3
3
  ---------------------
4
4
  Deprecated (but might have some use)
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 5.8.0
7
+ Date updated: 16/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Library