Skip to main content

Patches for Zope's ZTUtils in order to make 'make_query' and 'make_hidden_input* more flexible and more reliable.

Project description

This package patches Zope’s ZTUtils to enhance its make_query and make_hidden_input functions. Those functions are used to pass values across two requests and allow the target request to get the value in approximately the same way (e.g. in the same type) as it has been in the source request, avoiding tedious fixups in the target request.

The standard Zope versions are quite limited. They support (binary) strings, integers, floats and DateTime.DateTime as elementary data types and lists and namespaces (i.e. something with an items method) of those elemantary types for structured values.

This package replaces Zope’s ZTUtils.Zope.complex_marshal by a variant that correctly handles unicode and tuples. In addition, empty lists (and tuples) are retained. Tuples are marshalled as lists. This patch makes “make_query” and “make_hidden_input” more reliable.

From version 1.1 on, the application can register extensions to support additional elementary data types or to support passing structured values which are more deeply nested. For details, please see the docstrings of class Extension and the functions register_extension and unregister_extension.

By default, the extension framework is used to register an extension handling None values. Note that this changes the behavior for None passing relative to pre 1.1 versions. Use unregister_extension("none") to keep the old behavior.

The extension framework is used to define the function register_json_extension. It uses JSON marshalling to represent subvalues in structured data which are too deeply nested to be handled by basic mashalling. Should you need customization for the JSON marshalling, take the implementation of register_json_extension as a blueprint for your own definition.

Version history

2.0

Python 3/Zope 4 compatibility

1.1

Extension framework to optionnaly support application specific handling of new data types and deeper data structures

None is (by default) passed on as the object None not as the string "None".

1.0

Lets make_query and make_hidden_inputs reliably handle unicode, tuples and empty lists.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dm.zopepatches.ztutils-2.0.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file dm.zopepatches.ztutils-2.0.tar.gz.

File metadata

File hashes

Hashes for dm.zopepatches.ztutils-2.0.tar.gz
Algorithm Hash digest
SHA256 9a204ece225d2617dce5028ec202010a8a7cb05faac7acd9d7eeddb68d983d0c
MD5 f7cf81d239cd240a6594638f6eaed2ce
BLAKE2b-256 536e00a139e9a29510b97a6a07132d68fc497c41f7784bd6386dead67724fffa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page