Beispiel #1
0
 def GET(self):
     propiedad = None
     if 'id_propiedad' in web.input():
         id_propiedad = web.input().id_propiedad
         propiedad = dbaccess.buscar_propiedad(id_propiedad)
     if not propiedad:
         propiedad = dict()
         propiedad['id_propiedad'] = dbaccess.contar_propiedades() + 1
     cods = dbaccess.codificaciones(clase='anatómica')
     return renderizador.editpanatomica(propiedad,cods)
Beispiel #2
0
def load_tecnologicas_xls(file=path_dbs+'/excel/PROPIEDADES.xls'):
    """ Carga propiedades físicas y mecánicas de la madera """
    propiedades = []
    campos = ['nombre','categoria','codigo','obligatoria','unidad','muy_bajo','bajo','medio','alto','muy_alto']
    book = xlrd.open_workbook(file)
    sheet = book.sheet_by_name('tecnologicas')
    for r in range(1,sheet.nrows):
        propiedad = {}
        id_propiedad = r if not dbaccess.buscar_propiedad(str(r)) else dbaccess.contar_propiedades() + len(propiedades) + 1
        # se agrega un id a la propiedad
        propiedad['id_propiedad'] = str(id_propiedad)
        propiedad['clase'] = 'tecnológica'
        propiedad['codificaciones'] = {}
        for c in range(sheet.ncols):
            cell = sheet.cell(r,c)
            if cell.value is not xlrd.empty_cell.value:
                if c < 5:
                    if sheet.cell(0,c).value == 'obligatoria':
                        propiedad['obligatoria'] = True if cell.value in ('Si','si','SI','sI') else False
                    else:
                        propiedad[sheet.cell(0,c).value.lower()] = cell.value
                # leemos las codificaciones
                else:
                    # espacios
                    cell.value = cell.value.replace(' ','')
                    # separador decimal
                    cell.value = cell.value.replace(',','.')
                    if '<' in cell.value:
                        maxval = float(cell.value.replace('<',''))
                        propiedad['codificaciones'][campos[c]] = model.Rango(None,maxval)
                    elif '>' in cell.value: 
                        minval = float(cell.value.replace('>',''))
                        propiedad['codificaciones'][campos[c]] = model.Rango(minval,None)
                    elif '-' in cell.value:
                        minval = float(cell.value.split('-')[0])
                        maxval = float(cell.value.split('-')[1])
                        propiedad['codificaciones'][campos[c]] = model.Rango(minval,maxval)
        propiedades.append(propiedad)
    return propiedades
Beispiel #3
0
def load_anatomicas_xls(file=path_dbs+'/excel/PROPIEDADES.xls'):
    #""" Carga propiedades anatomicas de la madera """
    propiedades = []
    campos = ['nombre','obligatoria','codigo','excelente','bueno','regular','pobre']
    book = xlrd.open_workbook(file)
    sheet = book.sheet_by_name('anatomicas')
    for r in range(1,sheet.nrows):
        propiedad = {}
        propiedad['clase'] = 'anatómica'
        propiedad['codificaciones'] = {}
        # TODO: Buscar propiedad por codigo, si exsite actualizar.
        id_propiedad = r if not dbaccess.buscar_propiedad(str(r)) else (dbaccess.contar_propiedades() + len(propiedades) + 1)
        propiedad['id_propiedad'] = str(id_propiedad)
        for c in range(0,sheet.ncols):
            value = sheet.cell(r,c).value
            if sheet.cell(0,c).value == 'nombre' or sheet.cell(0,c).value == u'codigo':
                propiedad[sheet.cell(0,c).value.lower()] = value
            elif sheet.cell(0,c).value == 'obligatoria':
                propiedad['obligatoria'] = True if value in ('Si','si','SI','sI') else False
            else:
                propiedad['codificaciones'][campos[c]] = value
        propiedades.append(propiedad)
    return propiedades