[pyar] Tabla de verdad

Manuel Kaufmann humitos en gmail.com
Jue Abr 24 12:00:56 ART 2014


Hola listeros,

Estoy haciendo unas cositas relacionadas con filtros en el programa
Encuentro y mientras estaba escribiendo un pedazo de código me surgió
un duda de lógica.

Básicamente, el filtro que estoy haciendo filtra por:

 - canal
 - sección
 - texto ingresado por el usuario
 - solo descargados

El filtro originalmente ya estaba hecho pero no contaba con la
posibilidad de filtrar por canal y sección. Eso es lo que agregué yo y
dónde me encontré con un inconveniente. En el código hay un "if" que
si evalúa a True filtra finalmente por "texto ingresado por el
usuario" pero que si evalúa a False, descarta ese item:

"channel" y "section" son los valores elegidos por el usuario (si
vienen en None, es que no se quiere aplicar filtro por canal y/o
sección). "self.channel" y "self.section" son los valores de ese ítem
en particular.

 if (channel is None and section is None) or \
           (self.channel == channel and self.section == section) or \
           (channel is None and self.section == section) or \
           (self.channel == channel and section is None):

Al ojo humano, o al menos al mío, queda horrible ese if, ¿se puede
aplicar algo más sencillo?

Aclaración: así como está hace exactamente lo que quiero.

Saludos,


-- 
Kaufmann Manuel
-- http://mkaufmann.com.ar


More information about the pyar mailing list