ispadmin.interfaz (version 1.0)
index
/usr/lib/python2.2/site-packages/ispadmin/interfaz.py

ispadmin - Suite Administración Correo/Web/DNS
hector@bith.net
---
Librería
 
Gestionar los logs y los mensajes de la suite, así como ofrecer
cuadros de diálogo para solicitar datos al usuario de la script
 - error() -----> stderr
 - warning() ---> por stderr
 - message() ---> por stdout USAR PARA NOTIFICAR CAMBIOS
                  (por ejemplo: "creada cuenta xxxx")
 - info() ------> por stdout (mensajes,ayuda,etc)

 
Modules
            
commands
ispadmin.config
getopt
os
re
string
sys
types
 
Classes
            
Logger
 
class Logger
      clase responsable de mostrar los mensajes de la suite, además de poder
llevar parte de ellos al syslog. utiliza el sys.argv[0] para determinar
el nombre del programa
 
   Methods defined here:
__init__(self, mask=0)
constructor (si se utiliza como 'mask' uno de los niveles o el
and de varios de ellos, esos mensajes pasan a estar enmascarados
de cara a mostrar por pantalla (nunca se enmascara en el syslog)
mostrar(self, level, message)
muestra un mensaje a través de un determinado nivel: si el
nivel es config.LOG_ERROR o config.LOG_WARNING va por stderr,
y en el primer caso se lleva al syslog también, tal como ocurre
con los config.LOG_MESSAGE

Data and non-method functions defined here:
__doc__ = 'clase responsable de mostrar los mensajes de la ...ara determinar\n el nombre del programa\n '
__module__ = 'ispadmin.interfaz'
 
Functions
            
error(mensaje)
genera un mensaje de error por <stderr> y ABORTA EL PROGRAMA
formatea_numero(num, conversion=0)
a partir de un (int) 'num' genera un string formateado de la siguiente
manera: 
- con separador de miles
- con conversion de unidades si se indica 'conversion'
  (si es 1024 -> '1 Kb', si es 3145728 -> '3 Mb')
info(mensaje)
escribe algo por <stdout>
message(mensaje)
genera un mensaje, del tipo 'cuenta creada' por <stdout>
obten_argumentos(argv, cortos, largos, ayuda, num_args=0)
obtiene de un vector de argumentos 'argv' aquellos que son válidos
según el string 'cortos' y el vector 'largos', y si no los hay
o alguno no existe, aborta devolviendo el texto 'ayuda' como error
('num_args' es 0 por defecto para permitir el modo interactivo,
 indicando el número de argumentos mínimo para que no se aborte el
 programa)
(también detecta el --quiet, que usa para enmascarar los warnings de 
la interfaz)
(en los cortos, : indica que lleva argumento, y el = en los largos)
(en ambos casos, == y :: indicará que son opcionales)
obtiene_numero(cadena)
a partir de un string que contiene un número formateado por
formatea_numero() obtiene de nuevo el (int) al que corresponde,
transformado ya a bytes 
en caso de números reales, aplica también el redondeo necesario
obtiene_quota(cadena)
a partir de un string del tipo "/dev/hda1,10Mb", convierte eso al
formato usado por la suite para representar quotas y lo devuelve
(sería ['/dev/hda1','10'])
hay que tener en cuenta que lo que devuelve es el valor de bloques
en el caso del tamaño, y no los bytes (es decir, si especificamos
10Kb*1024 = 10240 bytes / 512 tamaño bloque = 20
traducir(cadena)
convierte a minusculas una cadena y elimina cualquier aparición
de acentos y demás, por ejemplo:
 á ---> a
 Á ---> a
userinput(question, default)
muestra 'question' por pantalla, aceptando cualquier respuesta
pero devolviendo 'default' si no se introdujo nada
userinputlist(question)
muestra 'question' por pantalla, y va aceptando cadenas del usuario
(que devuelve en forma de lista) hasta que una esté vacía
warning(mensaje)
genera un warning por <stderr>
yesnoquestion(question, default)
muestra 'question' por pantalla, y sólo acepta por respuesta s/n,
y en ausencia de respuesta supone s si 'default'=1 y n en caso 
contrario (el valor retornado es 1 si es s y 0 si es n)
 
Data
             __copyright__ = '(c) 2002 by hector@bith.net'
__file__ = '/usr/lib/python2.2/site-packages/ispadmin/interfaz.pyc'
__logger__ = <ispadmin.interfaz.Logger instance>
__name__ = 'ispadmin.interfaz'
__version__ = '1.0'