Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install dv.xdvserver

How to install dv.xdvserver

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install dv.xdvserver
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0b8 Available View build log
Windows (64-bit)
1.0b8 Available View build log
Mac OS X (10.5+)
1.0b8 Available View build log
Linux (32-bit)
1.0b8 Available View build log
Linux (64-bit)
1.0b8 Available View build log
 
Author
License
BSD
Imports
Lastest release
version 1.0b8 on Jan 5th, 2011

Introduction

dv.xdvserver is a simple piece of WSGI middleware that can execute the two step compile-and-run XSLT transforms of xdv.

It takes two required parameters:

  • rules: a path to a file containing Deliverance rules
  • theme: a URI or path to a theme HTML file

In addition, it can take several optional parameters:

  • absolute_prefix: if given, relative urls in the theme file will be made

    into absolute links with this prefix.

  • notheme: a set of regular expression patterns (or just simple names) that

    will be matched against the incoming path to allow the theme to be switched off for some paths. Multiple patterns should be separated by newlines.

  • live: set to True to recompile the theme on each request, rather than on

    startup only.

  • compiler: a path to the XSLT file that can turn theme+rules into a compiled

    theme. The default, bundled version will probably suffice in most cases.

  • boilerplate: a path to the XSLT file that contains boilerplate XSLT

    instructions. The default, bundled version will probably suffice in most cases.

Configuration

You can use this middleware in a Paste Deploy pipeline. Here is an example configuration file of an application that themes a Plone site running on http://localhost:8080/demo. Static resources are served from /static:

[server:main]
use = egg:Paste#http
host = 127.0.0.1
port = 5000

[composite:main]
use = egg:Paste#urlmap
/static = static
/ = default

[app:static]
use = egg:Paste#static
document_root = %(here)s/static

[pipeline:default]
pipeline = egg:Paste#cgitb
           egg:Paste#httpexceptions
           theme.default
           zope.proxy

[filter:theme.default]
use = egg:dv.xdvserver#xdv
theme = %(here)s/static/index.html
rules = %(here)s/static/rules/default.xml
notheme =
    /emptypage

[app:zope.proxy]
use = egg:Paste#proxy
address = http://localhost:8080/VirtualHostBase/http/localhost:5000/demo/VirtualHostRoot/

Changelog

1.0b8 - 2010-08-22
  • use lxml.html.tostring instead of lxml.tostring for output to avoid empty tags like <script/>, which confuses browsers [tomster]
1.0b7 - 2010-08-19
  • Use lxml for web resolving. [elro]
  • Remove xdvcompiler.py (this is now in xdv) [elro]
  • Apply patch from Lukas Zdych to fix absolute prefix. [optilude]
  • Added through the web resolving of the rules file. [Marshall Scorcio]
1.0b6 - 2009-10-27
  • Updated xdv compiler [lrowe]
1.0b5 - 2009-10-12
  • Re-licensed to the BSD license. [optilude]
  • Added support for the extrauri parameter. [Matous Hora]
1.0b4 - 2009-03-30
  • Renamed the 'theme_uri' parameter to just 'theme', since it also allows filenames. [optilude]
  • Added support for declaring some unthemed URLs via the 'notheme' option, based on pattern patching. [optilude]
  • Fixed various Windows related bugs. [optilude]
1.0b3 - 2009-03-26
  • We now allow local file paths as the theme uri, and let compiler.xsl pick its own boilerplate.xsl by default if none is given. [optilude]
1.0b2 - 2009-02-25
  • Added console script for compiling the theme offline [optilude]
1.0b1 - 2009-02-24
  • Initial release

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.