def edit_hora(cell, path, newtext, tv, numcol, clase, atributo): """ Cambia el texto del model[path][numcol] y del objeto relacionado que saca a partir del ID de la última columna del model. """ model = tv.get_model() id = model[path][-1] objeto = clase.get(id) try: hora = utils.parse_hora(newtext) except (ValueError, TypeError): parent = tv.parent while parent != None: parent = parent.parent utils.dialogo_info(titulo = "ERROR EN HORA", texto = "El texto «%s» no es una hora válida." % (newtext), padre = parent) else: setattr(objeto, atributo, hora) objeto.syncUpdate() model[path][numcol] = utils.str_hora(getattr(objeto, atributo))
def convertir_a_hora(valor, vdefecto = datetime.date.today()): from utils import parse_hora try: return parse_hora(valor) except: return vdefecto