nercone-modern 1.6.0__tar.gz → 1.6.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: nercone-modern
3
- Version: 1.6.0
3
+ Version: 1.6.2
4
4
  Summary: Modern CLI Library
5
5
  Author: Nercone
6
6
  Author-email: Nercone <nercone@diamondgotcat.net>
@@ -13,7 +13,7 @@ Project-URL: Homepage, https://github.com/DiamondGotCat/nercone-modern
13
13
  Description-Content-Type: text/markdown
14
14
 
15
15
 
16
- <img width="1920" alt="Nercone Modern" src="https://github.com/user-attachments/assets/c92b0407-916f-46ec-9116-c3388b38c88c" />
16
+ <img width="1920" alt="nercone_modern" src="https://github.com/user-attachments/assets/903a76bc-0a96-4cd3-bd2e-81acfdd88ead" />
17
17
 
18
18
  # nercone-modern
19
19
  Modern CLI Library
@@ -77,9 +77,11 @@ print("Build" + Text("Failed", color=Color.RED))
77
77
  ```python
78
78
  from nercone_modern.logging import ModernLogging
79
79
  logger = ModernLogging("Main", display_level="DEBUG")
80
- logger.log("This is a test message", level="INFO")
81
- answer = logger.prompt("What's your name?", level="INFO")
82
- logger.log(f"Answer: {answer}", level="DEBUG")
80
+ logger.log("This is a test message", level_text="INFO", level_color="magenta")
81
+ answer = logger.prompt("What's your name?", level_text="INFO")
82
+ logger.log(f"Answer: {answer}", level_text="DEBUG")
83
+ answer2 = logger.prompt("Select mode", default="A", choices=["A", "b", "c", "d"], level_text="INFO")
84
+ logger.log(f"Mode: {answer2}", level_text="DEBUG")
83
85
  ```
84
86
 
85
87
  **Supported levels:**
@@ -1,5 +1,5 @@
1
1
 
2
- <img width="1920" alt="Nercone Modern" src="https://github.com/user-attachments/assets/c92b0407-916f-46ec-9116-c3388b38c88c" />
2
+ <img width="1920" alt="nercone_modern" src="https://github.com/user-attachments/assets/903a76bc-0a96-4cd3-bd2e-81acfdd88ead" />
3
3
 
4
4
  # nercone-modern
5
5
  Modern CLI Library
@@ -63,9 +63,11 @@ print("Build" + Text("Failed", color=Color.RED))
63
63
  ```python
64
64
  from nercone_modern.logging import ModernLogging
65
65
  logger = ModernLogging("Main", display_level="DEBUG")
66
- logger.log("This is a test message", level="INFO")
67
- answer = logger.prompt("What's your name?", level="INFO")
68
- logger.log(f"Answer: {answer}", level="DEBUG")
66
+ logger.log("This is a test message", level_text="INFO", level_color="magenta")
67
+ answer = logger.prompt("What's your name?", level_text="INFO")
68
+ logger.log(f"Answer: {answer}", level_text="DEBUG")
69
+ answer2 = logger.prompt("Select mode", default="A", choices=["A", "b", "c", "d"], level_text="INFO")
70
+ logger.log(f"Mode: {answer2}", level_text="DEBUG")
69
71
  ```
70
72
 
71
73
  **Supported levels:**
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "nercone-modern"
7
- version = "1.6.0"
7
+ version = "1.6.2"
8
8
  description = "Modern CLI Library"
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  authors = [
@@ -22,7 +22,7 @@ try:
22
22
  logger1.log("This is a warning message", "WARNING")
23
23
  logger1.log("This is a error message", "ERROR")
24
24
  logger1.log("This is a critical error message", "CRITICAL")
25
- prompt_result = logger1.prompt("Continue demo?", choices=["Y", "n"])
25
+ prompt_result = logger1.prompt("Continue demo?", default="Y", choices=["Y", "n"])
26
26
  logger1.log(f"Answer is: {prompt_result}", "INFO")
27
27
  if prompt_result == "n":
28
28
  print("Exiting demo. See you!")
@@ -59,11 +59,11 @@ class ModernLogging:
59
59
  with open(self.filepath, "a") as f:
60
60
  f.write(f"{log_line}\n")
61
61
 
62
- def prompt(self, message: str = "", level_text: str = "INFO", level_color: str | None = None, ignore_kbdinterrupt: bool = True, default: str | None = None, choices: list[str] | None = None, show_choices: bool = True) -> str:
62
+ def prompt(self, message: str = "", level_text: str = "INFO", level_color: str | None = None, ignore_kbdinterrupt: bool = True, default: str | None = None, show_default: bool = False, choices: list[str] | None = None, show_choices: bool = True) -> str:
63
63
  if not is_higher_priority(level_text, self.display_level):
64
64
  return
65
65
  global _last_process, _last_level
66
- if default:
66
+ if default and show_default:
67
67
  message += f" ({default})"
68
68
  if choices and show_choices:
69
69
  message += f" [{'/'.join(choices)}]"
@@ -98,7 +98,7 @@ class ModernLogging:
98
98
  else:
99
99
  while True:
100
100
  log_line = self.make(message=f"Invalid selection. Please select from: {'/'.join(choices)}", level_text=level_text, level_color=level_color)
101
- print(log_line, end="")
101
+ print(log_line)
102
102
  if self.filepath:
103
103
  with open(self.filepath, "a") as f:
104
104
  f.write(f"{log_line}{answer}\n")
@@ -124,6 +124,7 @@ class ModernLogging:
124
124
  selected = self._select_choice(answer, choices)
125
125
  if selected is not None:
126
126
  return selected
127
+ return answer
127
128
 
128
129
  def _select_choice(self, answer: str, choices: list[str]) -> str | None:
129
130
  if answer in choices: