Changes¶
0.4 (unreleased)¶
0.3.3 (2008-12-02)¶
- Bug fixes:
- file-specific context variables were not set during template evaluation
- fixed file positions shown in template traceback supplements skewed by splitting off scripts from files’ beginnings
- API:
- added input request attribute which is a file-like object from which to read the request body
- added headers request attribute which is a namespace of HTTP headers with leading HTTP_ removed
- optionally pre-fill response_headers namespace with response headers set earlier by the server environment
- Organization:
- added setup for generating HTML documentation using Sphinx
0.3.2 (2008-01-08)¶
- User-visible:
- more helpful tracebacks for broken page templates
- None is available in the page template evaluation context
- API:
- added request configuration parameter immediate_result that makes the request return the unmodified unicode page body to ease further processing
- page templates raise ValueError when constructed from broken template text
- Organization:
- simplified setup.py: cleaned up egg contents, set zip_safe flag, removed provides flag which is not supported by Python 2.4
- Un-declared the feedparser dependency since that egg is awkward to install using zc.buildout. The feeds tool will stay until 0.4 for compatibility.
0.3.1 (2007-12-07)¶
- User-visible:
- tools: added the Metadata.mtime method which returns the current input file’s modification time as a datetime object
- Bug fixes:
- Request.render_template uses full context for rendering a template
- Documented restriction to main_interpreter when run through mod_python.
- API:
- renamed request method interpret_template to render_template
- Request.traverse and Request.__call__ accept additional context as keyword arguments, the WSGI interface accepts it as a mapping named ophelia.context in the environ dictionary
- console script entry points accept defaults for some command line options
- tools: made Metadata.bump_date accept a datetime object
- Organization:
- simplified buildout configuration
0.3 (2007-07-06)¶
- User-visible:
- a WSGI application running Ophelia was added along with a basic wsgiref-based server running that application
- a script for dumping a single Ophelia-generated page to stdout
- use restructured text format for documentation
- scripts are now allowed in macro files
- more informative error pages and logs
- configuration options changed from CamelCase to lower_case
- Bug fixes:
- Apache-generated directory indexes and PHP pages work now. This needs at least version 3.3 of mod_python.
- actually use the template text passed to StopTraversal as a template
- API:
- renamed modules, moved classes between modules:
- publisher.Namespace -> util.Namespace
- template -> input
- apache -> modpython
- publisher.PageTemplate* -> pagetemplate.PageTemplate*
- publisher.Publisher -> request.Request, publisher -> request, also renamed script variable __publisher__ -> __request__
current template moved from request member (template) to pre-defined script and TALES variable __template__
request.Redirect exception has an option for replacing the path portion of the target URL (saves the client some urlparse acrobatics) and uses the original request’s complete URI as a default base for the target
combined request.StopTraversal exception parameters into one, text
added methods insert_template and interpret_template to request, reduced load_macros signature to a single relative file name
added the next_name request member as a temporary solution for overriding the file or directory read during the next traversal step
replaced request member file_path by dir_path as that’s simpler to use
store environment namespace on request as member env instead of the Apache request
- Code:
- use zope.pagetemplate instead of fiddling with the TAL engine directly
- use zope.exceptions instead of log_error to get supplemented tracebacks and cleaner code
- use zope.interface to formally specify the API exposed to user code
- some clean-up
- Organization:
- made egg name lower case
- made the ophelia egg require needed parts of Zope by egg dependencies
- added svn:ignore property
- set up a zc.buildout environment for a development installation
- added tests
0.2 (2007-02-04)¶
- User-visible:
- made template and script encodings and the index template name configurable from Apache config
- renamed SitePrefix config variable to “Site”
- cleaned up pre-defined script variables, introduced __publisher__ and __file__
- made script variables directly usable in templates
- updated and improved documentation and example site
- switched configuration to using Location directives to get rid of dummy static directories and index.html files
- added optional redirection of URLs ending with index page to directories
- added ophelia.tool.feed, providing a download function using the Universal feedparser package, and a feed loader for using the feeds downloaded
- Bug fixes:
- correctly compute ETags from unicode content
- fixed a typo in the example’s CSS
- fixed a missing trailing slash in the site variable and spurious leading slashes in the traversal history entries which broke URL synthesis
- made localized dates with non-ASCII chars in month names usable with templates by adding ophelia.util.strftime
- made the publisher available to functions called from inside templates
- API:
- made ophelia.publisher.Namespace subclass dict
- turned publisher and file splitter into objects accessible from scripts
- removed thus obsolete ophelia.oapi module
- added set_chapter() to navigation tool, removed the zoo of URI builders
- added Redirect exception
- renamed methods to get rid of camel case and comply with current PEP 8
- added ophelia.util with an strftime function that returns unicode
- Code:
- modularized publishing logic
- straightened out handling of URL and file paths
- replaced file() calls by open() calls
- Organization:
- added change log
- moved roadmap from docs to distribution root, added README.txt to root
- started using setuptools and distributing Ophelia as a Python egg
- moved opheliatools package to ophelia.tool for minimal namespace impact
0.1 (2006-07-23)¶
initial “works for me” release

