Ease of managing color and positioning prints and supplies for teaching purposes.
Project description
Simple Screen
Provee una serie de funciones basadas en curses, para permitir usar print e input de forma posicionada y jugar con colores.
La idea es poder crear programas que vayan enfrentando a situaciones algo mas reales que con print e input, pero sin necesitar librerias que metan ruido a la hora de enseñar. Es un paso previo.
Funciones que aporta
Aquí tienes un listado de las funciones públicas del archivo proporcionado junto con una breve explicación de cada una:
-
pause(ms: int)
- Pausa la ejecución del programa durante una cantidad de milisegundos especificada.
-
init()
- Inicializa la pantalla de curses y configura los parámetros básicos como dimensiones, colores y pares de colores.
-
finish()
- Finaliza el uso de curses y restaura la configuración del terminal a su estado original.
-
cls(refresh: bool = True)
- Limpia la pantalla y opcionalmente refresca la pantalla para mostrar los cambios inmediatamente.
-
locate(x: int, y: int, cad: str = None)
- Mueve el cursor a la posición (x, y) especificada en la pantalla.
- Si x o y está fuera de los límites de la terminal se produce una excepcion OverflowError.
- Si se informa cad, lo imprime en la posición indicada, sin salto de línea.
-
Print(cadena: object = "", refresh: bool = True)
- Imprime una cadena en la pantalla en la posición actual del cursor y opcionalmente refresca la pantalla para mostrar los cambios inmediatamente.
- Situa el cursor en la línea siguiente (salto de línea siempre)
-
Input(mensaje: str = "") -> str
- Muestra un mensaje en la pantalla y espera la entrada del usuario. Devuelve la cadena de entrada del usuario.
-
inkey(timeout: int = 100) -> str
-
Espera el tiempo indicado en timeout en milisegundos para la pulsacion de una tecla. Si no se pulsa nada devuelve "" en otro caso devuelve su caracter o el nombre de la tecla si es especial.
-
En el caso de BACKSPACE puede devolver cualquiera de los valores
chr(8) o chr(127)por tanto si quieres preguntar directamente por BACKSPACE debes preguntar
if simple_screen.inkey() in simple_screen.BACKSPACE:en lugar de
if simple_screen.inkey() == simple_screen.BACKSPACEque no se cumplirá nunca.
-
-
pair(_pen: Color, _paper: Color, refresh: bool = True)
- Configura el par de colores activo con los colores de primer plano (_pen) y fondo (_paper) especificados, y opcionalmente refresca la pantalla para mostrar los cambios inmediatamente.
-
pen(color: Color, refresh: bool = True)
- Cambia el color del "bolígrafo" (texto) al color de primer plano especificado y opcionalmente refresca la pantalla para mostrar los cambios inmediatamente.
-
paper(color: Color, refresh: bool = True)
- Cambia el color del "papel" (fondo) al color de fondo especificado y opcionalmente refresca la pantalla para mostrar los cambios inmediatamente.
-
center(cad: str) -> int
- Devuelve la columna en que debe imprimirse la cadena cad para estar centrada en la ventana actual.
-
center_print(cad: str, fila: int = 0)
- Imprime la cadena cad centrada en la fila que se indique, o en cero.
-
app(func: Callable[..., None]) -> Callable[..., None]
- Decorador que asegura que la función proporcionada se ejecute en un contexto de curses y llama a
_end()al finalizar la ejecución.
- Decorador que asegura que la función proporcionada se ejecute en un contexto de curses y llama a
-
Simple_ScreenContextManager
- Clase manejadora de contexto para asegurar que
finish()se llame al salir del bloquewith.
- Clase manejadora de contexto para asegurar que
-
Atributos Se pueden activar y desactivar los siguientes atributos del texto. Por ejemplo, para activar la negrita usar A_BOLD.on() y para volver a desactivar A_BOLD.off().
- A_NORMAL: Atributo estándar sin formato especial aplicado.
- A_STANDOUT: Atributo que hace que el texto se destaque, usualmente mediante la inversión de colores o un cambio de color de fondo.
- A_UNDERLINE: Atributo que subraya el texto.
- A_REVERSE: Atributo que invierte los colores del texto y del fondo.
- A_BLINK: Atributo que hace que el texto parpadee.
- A_DIM: Atributo que reduce el brillo del texto.
- A_BOLD: Atributo que hace que el texto sea negrita o más brillante.
- A_INVIS: Atributo que hace que el texto sea invisible.
Explicación detallada de las funciones internas:
-
_init_curses()
- Inicializa la pantalla de curses, configura el modo cbreak y empieza el modo de color. Devuelve la pantalla inicializada.
-
_end(scr)
- Restaura la configuración del terminal y finaliza el uso de curses.
-
_create_color(ix: int, color: Color)
- Crea un color en curses utilizando el índice y el valor de color especificados.
-
_retrievePos()
- Actualiza la posición del cursor global
POSobteniendo la posición actual del cursor en la pantalla.
- Actualiza la posición del cursor global
Estas funciones y clases proporcionan una interfaz para manejar de manera más sencilla la biblioteca curses en Python, permitiendo inicializar y finalizar correctamente el entorno curses, manipular colores, limpiar la pantalla, mover el cursor, y manejar entradas y salidas de texto en la consola.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file simple_screen-0.1.16.tar.gz.
File metadata
- Download URL: simple_screen-0.1.16.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb786aae2383b6a1dd3d9b3b6270b3eadb3ad5132ac59f00050df77072509d00
|
|
| MD5 |
44940e4ab5eea4264d269eafa2a8a8b3
|
|
| BLAKE2b-256 |
e212debca117ab8a86c2daa5e02914a5a5501cb8bf573b1aa97e107abf2127de
|