Pretty printer for OData filter expressions
Project description
odata-pretty-printer
Pretty printer for OData filter expressions.
This is an example of using oppen-pretty-print to create a pretty-printer for OData filter expressions.
This is not a robust program, just a bench tool that's used occasionally to pretty-print complex OData filters that would otherwise be unreadable. The input filter is expected to be grammatically correct, just untidy. Pretty error reporting is non-existent!
Usage
pip install odata-pretty-printer
odata-printer "ShowOnSite eq true and PublicationDate le 2020-04-29T08:49:33Z \
and PublicationDate ge 2019-04-29T08:49:33Z and ChannelId eq 23 \
and (ExpiryDate eq null or ExpiryDate ge 2020-04-29T08:49:33Z) and \
IsAdvisor eq true and (FundCodeList/any(fundcode: fundcode eq 'ITSMT') \
or SectorCodeList/any(sectorcode: sectorcode eq 'T:IG') \
or GroupCodeList/any(groupcode: groupcode eq 'BAIL'))"
odata-printer -f tmp/filter_example.txt
Output:
ShowOnSite eq true
and PublicationDate le 2020-04-29T08:49:33Z
and PublicationDate ge 2019-04-29T08:49:33Z
and ChannelId eq 23
and (ExpiryDate eq null or ExpiryDate ge 2020-04-29T08:49:33Z)
and IsAdvisor eq true
and (FundCodeList/any(fundcode: fundcode eq 'ITSMT')
or SectorCodeList/any(sectorcode: sectorcode eq 'T:IG')
or GroupCodeList/any(groupcode: groupcode eq 'BAIL'))
Documentation
Head over to the README for more details.
Contributing
The source code for odata-pretty-printer is available on GitHub. If you find a bug or something is unclear, we encourage you to raise an issue. We also welcome contributions, to contribute, fork the repository and open a pull request.
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
Hashes for odata-pretty-printer-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4e8a0b8547190003e35e875a4397c64a719961d53a4d3a4be8d64a4854ff726 |
|
MD5 | 76f07a01067e7ec7da0db97def073dee |
|
BLAKE2b-256 | d780ec55bf48c842e0a6e02088e94250eb4071701ae2a803b72e4f23154f9464 |