Martín Gaitán
2018-06-12 12:26:53 UTC
Buenas.
Estoy buscando alguna una libreria que provea algun DSL para definir
filtros sobre estructuras de datos complejas,
Por ejemplo, imaginen una lista de diccionarios
events = [
{
'id': 1,
'system_id': 'XYZ',
'event_type': 'UserLogin',
'user': {
'username': 'messi'
}
}, {
'id': 2,
'system_id': 'XYZ',
'event_type': 'UserLogout',
'user': {
'username': 'messi'
}
}, {
'id': 3,
'system_id': 'FOO',
'event_type': 'UserLogin',
'user': {
'username': 'tin'
}
}
]
Entonces aplicar el filtro
"user.username = saibot and event_type = UserLogout "
sólo deberia matchear el diccionario del medio.
Por ejemplo, esto está muy bien resuelto en django, pero yo necesito algo
que aplique sobre diccionarios u objetos cualquiera
https://github.com/ivelum/djangoql
Encontré esto, que casi satisface mis requerimiento pero me queda chico,
porque no soporta objetos anidados agrupamiento de condiciones.
https://git.ercpe.de/ercpe/phylter/src/branch/master
conocen algo que me pueda servir?
saludos.
Estoy buscando alguna una libreria que provea algun DSL para definir
filtros sobre estructuras de datos complejas,
Por ejemplo, imaginen una lista de diccionarios
events = [
{
'id': 1,
'system_id': 'XYZ',
'event_type': 'UserLogin',
'user': {
'username': 'messi'
}
}, {
'id': 2,
'system_id': 'XYZ',
'event_type': 'UserLogout',
'user': {
'username': 'messi'
}
}, {
'id': 3,
'system_id': 'FOO',
'event_type': 'UserLogin',
'user': {
'username': 'tin'
}
}
]
Entonces aplicar el filtro
"user.username = saibot and event_type = UserLogout "
sólo deberia matchear el diccionario del medio.
Por ejemplo, esto está muy bien resuelto en django, pero yo necesito algo
que aplique sobre diccionarios u objetos cualquiera
https://github.com/ivelum/djangoql
Encontré esto, que casi satisface mis requerimiento pero me queda chico,
porque no soporta objetos anidados agrupamiento de condiciones.
https://git.ercpe.de/ercpe/phylter/src/branch/master
conocen algo que me pueda servir?
saludos.