#!/usr/bin/env python #-*- coding: iso8859-15 -*- ########################################################## # REGISTRADORES v1.0 # ########################################################## # Autor: Juan Miguel Taboada Godoy # # Fecha: Szczecin, 16 de Marzo de 2006 # # Descripción: Clase para registrar datos # # Versión: 2007031600 # # # # Codigo fuente bajo licencia GNU/GPL # # Centrologic (Computational Logistic Center) # # http://www.centrologic.com - info@centrologic.com # ########################################################## # ### REGISTRADOR ### ######################################## ## \internal ## Clase base ## \version 16/03/2007 1127 Szczecin class REGISTRADORES: # Constructor {{{1 ## Constructor ## \param self - ## \param registradores Listado de registradores (opcional) def __init__(self,registradores=[]): # Debe entregar una lista if (type(registradores)!=type([])): raise IOError,"La clase registradores requiere que se le entrege una lista. Se ha entregado un objeto de tipo %s" % (type(registradores)) # Lista de registradores self.__registradores=registradores # }}}1 # Añade un registrador a la clase {{{1 ## Inserta un registrador a la clase ## \param self - ## \param registrador Registrador a anadir ## \Exception IOError Si ocurre un error en el proceso def add(self,registrador): # Añade el registrador a la lista self.__registradores.append(registrador) # }}}1 # Registra un nuevo dato en los registradores de la clase {{{1 ## Registra un nuevo dato en los registradores de la clase ## \param self - ## \param id Identificador ## \param tipo Tipo de dato ## \param valor Valor a registrar ## \Exception IOError Si ocurre un error en el proceso def register(self,id,tipo,valor): # Procesa la lista de registradores for registrador in self.__registradores: # Registra el dato en el registrador registrador.register(id,tipo,valor) # }}}1 # Registra un error en los registradores de la clase {{{1 ## Registra un error en los registradores de la clase ## \param self - ## \param error Error a registrar ## \Exception IOError Si ocurre un error en el proceso def register_error(self,error): # Procesa la lista de registradores for registrador in self.__registradores: # Registra el dato en el registrador registrador.register_error(error) # }}}1 # Escribe el resultado de los registradores {{{1 ## Escribe el resultado de los registradores ## \param self - ## \param limpiar_feedback Puede ser True o False, para indicar que tras escribir a disco se limpie la informacion de feedback (por defecto True)$ ## \param viaje_temporal Indica el viaje temporal que debe sufrir la funcion al escribir ## \attention Limpiar la informacino de feedback es bueno para que la media, maximo y minimo se comiencen a calcular de nuevo para el siguiente rango de datos def write(self,limpiar_feedback=True,viaje_temporal=None): # Proceso la lista de registradores for registrador in self.__registradores: # Registra el dato en el registrador registrador.write(limpiar_feedback,viaje_temporal) # }}}1 # Devuelve el listado de registradores identificados en la clase {{{1 ## Devuelve el listado de registradores identificados en la clase ## \param self - def list(self): return self.__registradores # }}}1