stopsoftwarepatents.eu petition banner

Ophelia v0.3.3 documentation


Deutsche Fassung

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