#!/usr/bin/env python #-*- coding: iso8859-15 -*- ########################################################## # INTERFACES v1.0 # ########################################################## # Autor: Juan Miguel Taboada Godoy # # Fecha: Szczecin, 21 de noviembre de 2006 # # Descripción: Clase para ser heredada # # Versión: 2006112100 # # # # Codigo fuente bajo licencia GNU/GPL # # Centrologic (Computational Logistic Center) # # http://www.centrologic.com - info@centrologic.com # ########################################################## ## \internal ## Interfaz para objetos ejecutables ## \version 18/11/2006 1736 Szczecin class RUNABLE: # Método para iniciar el funcionamiento de la clase ## Inicia el funcionamiento del interfaz ## \param self - ## \exception UndefinedMethod Cuando la clase que hereda de esta no redefine el metodo start() def start(self): raise UndefinedMethod,"Una clase está heredando de RUNABLE y no está redefiniendo el metodo start()" ## \internal ## Interfaz para objetos que pueden ser leidos ## \version 16/11/2006 1735 Szczecin class READABLE: ## Carga los datos en la clase segun una variable entregada ## \param [in] self - ## \param [in] fichero Se definio como un fichero, pero algunas clases usan una tupla para entregar mas informacion relacionada con la carga ## \exception UndefinedMethod Cuando la clase que herda de esta no redefine el metodo load() def load(self,fichero): raise UndefinedMethod,"Una clase está heredando de READABLE y no está redefiniendo el metodo load(fichero)" ## Obtiene el siguiente elemento de la clase ## \param [in] self - ## \exception UndefinedMethod Cuando la clase que herda de esta no redefine el metodo next() def next(self): raise UndefinedMethod,"Una clase está heredando de READABLE y no está redefiniendo el metodo next()" ## Obtiene un conjunto de todos los elementos que hay en la clase ## \param [in] self - ## \exception UndefinedMethod Cuando la clase que herda de esta no redefine el metodo getall() def getall(self): raise UndefinedMethod,"Una clase está heredando de READABLE y no está redefiniendo el metodo next()" ## \internal ## Interfaz para objetos que registran datos ## \version 12/25/2007 1225 Szczecin class REGISTRADOR: # Método para registrar un dato ## Registra un dato ## \param self - ## \param id Valor alfanumerico que representa al dato ## \param tipo Tipo del dato a almacenar ## \param valor Valor en este instante ## \exception UndefinedMethod Cuando la clase que hereda de esta no redefine el metodo register() def register(self,id,tipo,valor): raise UndefinedMethod,"Una clase está heredando de REGISTRADOR y no está redefiniendo el metodo register(id,tipo,valor)" # Método para registrar un dato ## Registra un dato ## \param self - ## \param error Error a registrar ## \exception UndefinedMethod Cuando la clase que hereda de esta no redefine el metodo register() def register_error(self,error): raise UndefinedMethod,"Una clase está heredando de REGISTRADOR y no está redefiniendo el metodo register_error(error)" # Método para registrar un dato ## Registra un dato ## \param self - ## \exception UndefinedMethod Cuando la clase que hereda de esta no redefine el metodo register() def write(self): raise UndefinedMethod,"Una clase está heredando de REGISTRADOR y no está redefiniendo el metodo write()" # EXCEPTION CLASSES {{{1 # Excepciones básicas # UndefinedMethod (Un método no ha sido definido {{{2 class UndefinedMethod(Exception): def __init__(self,string): self.string=string def __str__(self): return self.string # }}}2 # LockError (Error de bloqueo) {{{2 class LockError(Exception): def __init__(self,string): self.string=string def __str__(self): return self.string # }}}2 # }}}1