예제 #1
0
def analizar_uso(uso):
    """ 
    Determina todas las maderas que son compatibles con un uso dado
    """ 
    maderas_analisis = []
    maderas_compatibles = []
    for madera in dbaccess.buscar_maderas():
        madera_analisis = {}
        analisis = []
        for pbd in dbaccess.buscar_propiedades():
            k = pbd.get('id_propiedad')
            if not madera.propiedades.get(k) or not uso.propiedades.get(k): 
                c = model.Compatibilidad(k,None,None)
            elif not uso.propiedades[k].min and madera.propiedades[k] <= uso.propiedades[k].max:
                c = model.Compatibilidad(k,True,pbd.get('obligatoria',''))
            elif not uso.propiedades[k].max and madera.propiedades[k] >= uso.propiedades[k].min:
                c = model.Compatibilidad(k,True,pbd.get('obligatoria',''))
            elif uso.propiedades[k].min <= madera.propiedades[k] <= uso.propiedades[k].max:
                c = model.Compatibilidad(k,True,pbd['obligatoria'])
            else:
                c = model.Compatibilidad(k,False,pbd['obligatoria'])
            analisis.append(c)
        madera_analisis['nombre_madera'] = madera.nombre
        madera_analisis['analisis'] = analisis
        maderas_analisis.append(madera_analisis)
        print uso.nombre,'=>',madera.nombre
        print procesar_presentacion(analisis)
        incompatibles = incompatibilidades(analisis)
        print incompatibles
        if len(madera.propiedades) > 0 and len(incompatibles) == 0:
            maderas_compatibles.append(madera)
            print 'Es COMPATIBLE :)'
        else:
            print 'Es INCOMPATIBLE :('
    return ( maderas_compatibles, maderas_analisis )
예제 #2
0
 def GET(self):
     return renderizador.seleccionar_madera(dbaccess.buscar_maderas())
예제 #3
0
 def GET(self):
     maderas = dbaccess.buscar_maderas()
     propiedades = dbaccess.buscar_propiedades() 
     return renderizador.maderas(propiedades,maderas)