Skip to main content

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.

Metadata

Release files for odata-pretty-printer 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for odata-pretty-printer 0.1.1
File Size Uploaded
odata-pretty-printer-0.1.1.tar.gz 6.9 kB Details

Release files / odata-pretty-printer-0.1.1.tar.gz

Download URL odata-pretty-printer-0.1.1.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e4e8a0b8547190003e35e875a4397c64a719961d53a4d3a4be8d64a4854ff726
BLAKE2b-256 checksum
How to use checksums
d780ec55bf48c842e0a6e02088e94250eb4071701ae2a803b72e4f23154f9464
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page