Python evaluator for jQuery-QueryBuilder rules
Project description
jQuery-QueryBuilder-Python-Evaluator
Python Rule evaluator for jQuery-QueryBuilder. It evaluates rules agains provided objects.
Website • autobotAI Cloud Governance
Inspired from SixiS/jquery_query_builder-rails
Usage
Install the package.
pip install jqqb-evaluator
Usage Example:
from jqqb_evaluator.evaluator import Evaluator
rule_json = {
"condition": "AND",
"rules": [{
"id": "tagname",
"field": "tags.name",
"type": "string",
"input": "text",
"operator": "not_contains",
"value": "production"
}, {
"id": "tagname",
"field": "tags.name",
"type": "string",
"input": "text",
"operator": "begins_with",
"value": "development"
}, {
"condition": "OR",
"rules": [{
"id": "type",
"field": "type",
"type": "string",
"input": "text",
"operator": "equal",
"value": "ec2"
},{
"id": "type",
"field": "type",
"type": "string",
"input": "text",
"operator": "equal",
"value": "ami"
}]
}]
}
evaluator = Evaluator(rule_json)
object_1 = {'type': "ec2", "tags": [{"name": "hello"}, {"name": "asdfasfproduction_instance"}]}
object_2 = {'type': "ami", "tags": [{"name": "development"}, {"name": "asfdafdroduction_instance"}, {"name": "proction"}]}
objects = [object_1, object_2]
print(evaluator.get_matching_objects(objects))
Result:
[{'type': 'ami', 'tags': [{'name': 'development'}, {'name': 'asfdafdroduction_instance'}, {'name': 'proction'}]}]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jqqb_evaluator-0.0.1.tar.gz
(3.3 kB
view hashes)
Built Distribution
Close
Hashes for jqqb_evaluator-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f04ddfc9829f2847145f7229b0b9fb51c6ad4792455638d499f14d2a98a1bac9 |
|
MD5 | 69572cb8df8ae9432e16667b726ab385 |
|
BLAKE2b-256 | 0ceca168c67852e7f81a694b06d4edaceff265f6f2bc2aefc81061210aa31e1e |