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
File details
Details for the file odata-pretty-printer-0.1.1.tar.gz
.
File metadata
- Download URL: odata-pretty-printer-0.1.1.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1.post20200515 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4e8a0b8547190003e35e875a4397c64a719961d53a4d3a4be8d64a4854ff726 |
|
MD5 | 76f07a01067e7ec7da0db97def073dee |
|
BLAKE2b-256 | d780ec55bf48c842e0a6e02088e94250eb4071701ae2a803b72e4f23154f9464 |