ANN: empy 2.0 -- Embed Python in template text as markup
Erik Max Francis
max@alcyone.com
Mon, 30 Sep 2002 19:28:36 -0700
Summary
empy is a system for embedding Python expressions and statements
in template text; it takes an empy source file, processes it, and
produces output. This is accomplished via expansions, which are
special signals to the empy system and are set off by a special
prefix (by default the at sign, '@'). empy can expand arbitrary
Python expressions and statements in this way, as well as a
variety of special forms. Textual data not explicitly delimited
in this way is sent unaffected to the output, allowing Python to
be used in effect as a markup language. Also supported are "hook"
callbacks, recording and playback via diversions, and dynamic,
chainable filters. The system is highly configurable via command
line options and embedded commands.
Expressions are embedded in text with the '@(...)' notation;
variations include conditional expressions with '@(...?...:...)'
and the ability to handle thrown exceptions with '@(...$...)'. As
a shortcut, simple variables and expressions can be abbreviated as
'@variable', '@object.attribute', '@function(arguments)',
'@sequence[index]', and combinations. Full-fledged statements
are embedded with '@{...}'. Forms of conditional and repeated
expansion are available via '@[...]'. A '@' followed by a
whitespace character (including a newline) expands to nothing,
allowing string concatenations and line continuations. Comments
are indicated with '@#' and consume the rest of the line, up to
and including the trailing newline. '@%' indicate
"significators," which are special forms of variable assignment
intended to specify per-file identification information in a
format which is easy to parse externally. C-style escape
sequences can be specified with '@\...', and finally a '@@'
sequence expands to a single literal at sign.
Getting the software
The current version of empy is 2.0.
The latest version of the software is available in a tarball here:
"http://www.alcyone.com/pyos/empy/empy-latest.tar.gz",
http://www.alcyone.com/pyos/empy/empy-latest.tar.gz.
The official URL for this Web site is
"http://www.alcyone.com/pyos/empy/",
http://www.alcyone.com/pyos/empy/.
Requirements
empy should work with any version of Python from 1.5.x onward.
License
This code is released under the "GPL",
http://www.gnu.org/copyleft/gpl.html.
...
Release history [since 1.x]
- 2.0; 2002 Sep 30. Parsing system completely revamped and
simplified, eliminating a whole class of context-related bugs;
builtin support for buffered filters; support for registering
hooks; support for command line arguments; interactive mode with
-i; significator value extended to be any valid Python
expression.
--
Erik Max Francis / max@alcyone.com / http://www.alcyone.com/max/
__ San Jose, CA, US / 37 20 N 121 53 W / ICQ16063900 / &tSftDotIotE
/ \ To be adult is to be alone.
\__/ Jean Rostand
Crank Dot Net / http://www.crank.net/
Cranks, crackpots, kooks, & loons on the Net.