skip to navigation
skip to content

ll-xist 5.1

Extensible HTML/XML generator, cross-platform templating language, Oracle utilities and various other tools

Latest Version: 5.28.2

XIST provides an extensible HTML and XML generator. XIST is also a XML parser with a very simple and pythonesque tree API. Every XML element type corresponds to a Python class and these Python classes provide a conversion method to transform the XML tree (e.g. into HTML). XIST can be considered ‘object oriented XSLT’.

XIST also includes the following modules and packages:

  • ll.ul4c is compiler for a cross-platform templating language with similar capabilities to Django’s templating language. UL4 templates are compiled to an internal format, which makes it possible to implement template renderers in other languages and makes the template code “secure” (i.e. template code can’t open or delete files).

    There are implementations for Python, Java, Javascript and PHP.

  • ll.ul4on provides functions for encoding and decoding a lightweight machine-readable text-based format for serializing the object types supported by UL4. It is extensible to allow encoding/decoding arbitrary instances (i.e. it is basically a reimplementation of pickle, but with string input/output instead of bytes and with an eye towards cross-plattform support).

    There are implementations for Python, Java, Javascript and PHP.

  • ll.orasql provides utilities for working with cx_Oracle:

    • It allows calling functions and procedures with keyword arguments.
    • Query results will be put into Record objects, where database fields are accessible as object attributes.
    • The Connection class provides methods for iterating through the database metadata.
    • Importing the modules adds support for URLs with the scheme oracle to ll.url.
  • ll.make is an object oriented make replacement. Like make it allows you to specify dependencies between files and actions to be executed when files don’t exist or are out of date with respect to one of their sources. But unlike make you can do this in a object oriented way and targets are not only limited to files.

  • ll.color provides classes and functions for handling RGB color values. This includes the ability to convert between different color models (RGB, HSV, HLS) as well as to and from CSS format, and several functions for modifying and mixing colors.

  • ll.sisyphus provides classes for running Python scripts as cron jobs.

  • ll.url provides classes for parsing and constructing RFC 2396 compliant URLs.

  • ll.nightshade can be used to serve the output of PL/SQL functions/procedures with CherryPy.

  • ll.misc provides several small utility functions and classes.

  • ll.astyle can be used for colored terminal output (via ANSI escape sequences).

  • ll.daemon can be used on UNIX to fork a daemon process.

  • ll.xml_codec contains a complete codec for encoding and decoding XML.

Changes in 5.1 (released 08/02/2013)

  • The HTML namespace (ll.xist.ns.html) now supports microdata attributes.

  • Added support for triple quoted strings to UL4 templates.

  • Added an UL4 function sum that works like the Python function sum.

  • Variables assigned in the body of a <?for?> loop in UL4 now survive the end of the loop. As a consequence of this, loop variables now leak into the surrounding scope (but not the loop variables for list/dictionary comprehensions or generator expressions).

  • Made checking for recoverable Oracle exceptions in ll.nightshade more robust.

  • Added missing processing instruction class ll.xist.ns.ul4.note.

  • ll.oradd now prints the data object before trying to call the procedure and can handle foreign keys that are NULL.

  • The methods abslum and rellum of Color objects are now exposed to UL4 templates.

  • The oradd script has a new option --dry-run to rollback all database changes instead of committing them. This can be used to test whether an oradd dump will work.

  • oradd can now copy files via scp. Parts of the file names used may depend on key values.

  • oradd now supports other out types than integers.

  • The query method for database connections in db2ul4 scripts has changed: Instead of a query and a parameter dictionary, you have to pass in positional arguments that alternate between fragments of the SQL query and parameters. I.e.:

    db.query("select * from table where x=:x and y=:y", x=23, y=42)


    db.query("select * from table where x=", 23, " and y=", 42)

    This makes db2ul4 independent from the parameter format of the database driver.

File Type Py Version Uploaded on Size
ll-xist-5.1.tar.bz2 (md5) Source 2013-08-02 477KB
ll-xist-5.1.tar.gz (md5) Source 2013-08-02 566KB (md5) Source 2013-08-02 665KB
ll_xist-5.1-py3.3-macosx-10.7-x86_64.egg (md5) Python Egg 3.3 2013-08-02 1MB