feature: update I/O methods to use questionary where applicable #2
@@ -140,16 +140,16 @@ def is_valid_ticket(ticket: str) -> bool:
|
|||||||
return ticket_project.isalpha() and ticket_project.isupper() and ticket_number.isnumeric()
|
return ticket_project.isalpha() and ticket_project.isupper() and ticket_number.isnumeric()
|
||||||
|
|
||||||
def io_error(message: str, title: Optional[str] = None):
|
def io_error(message: str, title: Optional[str] = None):
|
||||||
_io_status(message, "❌ Error: ", "red", title)
|
_io_status(message, "✖ Error: ", "red", title)
|
||||||
|
|
||||||
def io_warning(message: str, title: Optional[str] = None):
|
def io_warning(message: str, title: Optional[str] = None):
|
||||||
_io_status(message, "⚠️ Warning: ", "yellow", title)
|
_io_status(message, "⚠ Warning: ", "yellow", title)
|
||||||
|
|
||||||
def io_info(message: str, title: Optional[str] = None):
|
def io_info(message: str, title: Optional[str] = None):
|
||||||
_io_status(message, "ℹ️ Info: ", "blue", title)
|
_io_status(message, "ℹ Info: ", "blue", title)
|
||||||
|
|
||||||
def io_success(message: str, title: Optional[str] = None):
|
def io_success(message: str, title: Optional[str] = None):
|
||||||
_io_status(message, "✅ Success: ", "green", title)
|
_io_status(message, "✔ Success: ", "green", title)
|
||||||
|
|
||||||
def _io_status(message: str, prefix: str, style: str, title: Optional[str] = None):
|
def _io_status(message: str, prefix: str, style: str, title: Optional[str] = None):
|
||||||
if title:
|
if title:
|
||||||
@@ -161,12 +161,12 @@ def io_confirm(question: str, default: bool = True) -> bool:
|
|||||||
return questionary.confirm(question, default=default, auto_enter=False).ask()
|
return questionary.confirm(question, default=default, auto_enter=False).ask()
|
||||||
|
|
||||||
def io_choice(prompt: str, options: list[str]) -> str:
|
def io_choice(prompt: str, options: list[str]) -> str:
|
||||||
return questionary.select(prompt, options, instruction="Usar flechas").ask()
|
return questionary.select(prompt, options, use_search_filter=True, use_jk_keys=False, instruction="Tipear o usar flechas").ask()
|
||||||
|
|
||||||
def io_prompt(message: str, default: str = "", persistent: bool = False, strip: bool = False, validator = None) -> str:
|
def io_prompt(message: str, default: str = "", persistent: bool = False, strip: bool = False, validator = None, instruction: str | None = None) -> str:
|
||||||
if persistent and not validator:
|
if persistent and not validator:
|
||||||
validator = lambda s: len(s.strip()) > 0
|
validator = lambda s: len(s.strip()) > 0
|
||||||
|
|
||||||
value = questionary.text(message, default, validate=validator).ask()
|
value = questionary.text(message, default, validate=validator, instruction=instruction).ask()
|
||||||
|
|
||||||
return value.strip() if strip else value
|
return value.strip() if strip else value
|
||||||
Reference in New Issue
Block a user