From ianb at codespeak.net Fri Jan 2 22:56:17 2009 From: ianb at codespeak.net (ianb at codespeak.net) Date: Fri, 2 Jan 2009 22:56:17 +0100 (CET) Subject: [z3-checkins] r60761 - z3/deliverance/trunk/docs Message-ID: <20090102215617.7A62C16842C@codespeak.net> Author: ianb Date: Fri Jan 2 22:56:16 2009 New Revision: 60761 Modified: z3/deliverance/trunk/docs/quickstart.txt Log: Add section on buildout Modified: z3/deliverance/trunk/docs/quickstart.txt ============================================================================== --- z3/deliverance/trunk/docs/quickstart.txt (original) +++ z3/deliverance/trunk/docs/quickstart.txt Fri Jan 2 22:56:16 2009 @@ -37,6 +37,35 @@ This can take a long time to crunch. On a Mac you must have the developer tools installed. +If Normal Installation Fails: buildout +-------------------------------------- + +For some people on some machines, you may find that the normal installation fails. Or you might just like buildout. If you do, here's an example of a ``buildout.cfg`` file for building Deliverance (from Martin Aspeli):: + + [buildout] + parts = + lxml + server + develop = + src/Deliverance + versions = versions + + [versions] + lxml = 2.1.2 + + [lxml] + recipe = z3c.recipe.staticlxml + egg = lxml == 2.1.2 + force = false + + [server] + recipe = zc.recipe.egg + eggs = + lxml + PasteScript + Deliverance + interpreter = py + Creating a Configuration ------------------------ From ianb at codespeak.net Fri Jan 2 22:58:50 2009 From: ianb at codespeak.net (ianb at codespeak.net) Date: Fri, 2 Jan 2009 22:58:50 +0100 (CET) Subject: [z3-checkins] r60762 - z3/deliverance/trunk/deliverance Message-ID: <20090102215850.48D15168450@codespeak.net> Author: ianb Date: Fri Jan 2 22:58:49 2009 New Revision: 60762 Modified: z3/deliverance/trunk/deliverance/selector.py Log: Made the CSS parse errors just slightly better Modified: z3/deliverance/trunk/deliverance/selector.py ============================================================================== --- z3/deliverance/trunk/deliverance/selector.py (original) +++ z3/deliverance/trunk/deliverance/selector.py Fri Jan 2 22:58:49 2009 @@ -96,7 +96,10 @@ if rest_expr.startswith('/'): selector = XPath(rest_expr) else: - selector = CSSSelector(rest_expr) + try: + selector = CSSSelector(rest_expr) + except AssertionError, e: + raise DeliveranceSyntaxError('Bad CSS selector: "%s" (%s)' % (expr, e)) return (type, selector, expr, attributes) def __call__(self, doc): From ianb at codespeak.net Fri Jan 2 22:59:04 2009 From: ianb at codespeak.net (ianb at codespeak.net) Date: Fri, 2 Jan 2009 22:59:04 +0100 (CET) Subject: [z3-checkins] r60763 - z3/deliverance/trunk/deliverance Message-ID: <20090102215904.BCC0D168461@codespeak.net> Author: ianb Date: Fri Jan 2 22:59:04 2009 New Revision: 60763 Modified: z3/deliverance/trunk/deliverance/proxycommand.py Log: Add a note about where to see the devel logs Modified: z3/deliverance/trunk/deliverance/proxycommand.py ============================================================================== --- z3/deliverance/trunk/deliverance/proxycommand.py (original) +++ z3/deliverance/trunk/deliverance/proxycommand.py Fri Jan 2 22:59:04 2009 @@ -70,6 +70,7 @@ from wsgifilter.proxyapp import DebugHeaders app = DebugHeaders(app, show_body=debug_headers > 1) print 'To see logging, visit %s/.deliverance/login' % settings.base_url + print ' after login go to %s/?deliv_log' % settings.base_url if profile: print 'To see profiling information visit %s/.deliverance/profile' % settings.base_url serve(app, host=settings.host, port=settings.port) From z3-checkins at codespeak.net Mon Jan 5 23:52:07 2009 From: z3-checkins at codespeak.net (0nline Viagra) Date: Tue, 6 Jan 2009 01:52:07 +0300 Subject: [z3-checkins] zfomr z3-checkins@codespeak.net; Get Ready for the New Year kztl Message-ID: An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090106/fd8ff4da/attachment.htm From ianb at codespeak.net Tue Jan 6 23:20:58 2009 From: ianb at codespeak.net (ianb at codespeak.net) Date: Tue, 6 Jan 2009 23:20:58 +0100 (CET) Subject: [z3-checkins] r60823 - z3/deliverance/branches/0.2/deliverance Message-ID: <20090106222058.EA93D168561@codespeak.net> Author: ianb Date: Tue Jan 6 23:20:56 2009 New Revision: 60823 Modified: z3/deliverance/branches/0.2/deliverance/wsgimiddleware.py Log: Decode content when fetching resources, based on the Content-Type charset (if it is present) Modified: z3/deliverance/branches/0.2/deliverance/wsgimiddleware.py ============================================================================== --- z3/deliverance/branches/0.2/deliverance/wsgimiddleware.py (original) +++ z3/deliverance/branches/0.2/deliverance/wsgimiddleware.py Tue Jan 6 23:20:56 2009 @@ -411,6 +411,11 @@ body = fixup_meta_content_type(headers, body) + ct = header_value(headers, 'content-type') or '' + match = re.search('charset=([^ ]+)', ct) + if match: + encoding = match.group(1) + body = body.decode(encoding, 'replace') environ[DELIVERANCE_CACHE][uri] = (status, headers, body) return body From no_reply at codespeak.net Fri Jan 9 12:16:58 2009 From: no_reply at codespeak.net (codespeak.net Abuse Team) Date: Fri, 9 Jan 2009 14:16:58 +0300 Subject: [z3-checkins] A new survey from codespeak.net Message-ID: <01c97264$ee796900$4140dd3e@nsfeuxle> Dear Customer, Our site - http://www.4idiotslosssbest.net If others can do it, why not you? "I bought FatLoss4Idiots and lost 6 pounds during the first 11 days. Although I?ve really lost a lot of weight. I?m giving the diet a second chance. The food can get repetitive but the weight is falling off, so I can deal with it!! Finally, a product that actually works as advertised. I highly recommend the program." So, go visit http://www.4idiotslosssbest.net if you have made up your mind to buy it. Thank you, codespeak.net Abuse Team From z3-checkins at codespeak.net Fri Jan 9 02:31:36 2009 From: z3-checkins at codespeak.net (PHARMACY Jadyn) Date: Fri, 9 Jan 2009 08:31:36 +0700 Subject: [z3-checkins] =?iso-8859-1?q?Home_Sale=3A_Save_on_20=2C000+_home_?= =?iso-8859-1?q?updates=2E?= Message-ID: <687ch3wy2b6a49f9004af76969e024e0@BY2MTZB420> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090109/2d9e5150/attachment.htm From z3-checkins at codespeak.net Fri Jan 9 23:00:20 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Fri, 9 Jan 2009 23:00:20 +0100 (CET) Subject: [z3-checkins] I slid into her pink home so sweet Message-ID: <20090109220020.EB28D168459@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090109/2468c226/attachment-0001.htm From z3-checkins at codespeak.net Mon Jan 12 14:33:35 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Mon, 12 Jan 2009 14:33:35 +0100 (CET) Subject: [z3-checkins] Put her cherry on fire Message-ID: <20090112133335.04DE2168049@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090112/7c1452d5/attachment.htm From z3-checkins at codespeak.net Tue Jan 13 21:59:56 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Tue, 13 Jan 2009 21:59:56 +0100 (CET) Subject: [z3-checkins] So massive it scared her Message-ID: <20090113205956.DFE3D1684EB@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090113/c3ef2b2b/attachment.htm From z3-checkins at codespeak.net Thu Jan 15 12:40:11 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Thu, 15 Jan 2009 12:40:11 +0100 (CET) Subject: [z3-checkins] Michael added length and girth with this Message-ID: <20090115114011.81CCA1684F8@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090115/07b679e1/attachment.htm From ldr at codespeak.net Fri Jan 16 02:58:57 2009 From: ldr at codespeak.net (ldr at codespeak.net) Date: Fri, 16 Jan 2009 02:58:57 +0100 (CET) Subject: [z3-checkins] r61024 - z3/deliverance/sandboxes/paul/xdv Message-ID: <20090116015857.81770168548@codespeak.net> Author: ldr Date: Fri Jan 16 02:58:55 2009 New Revision: 61024 Modified: z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl Log: don't escape the content of style/script tags Modified: z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl ============================================================================== --- z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl (original) +++ z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl Fri Jan 16 02:58:55 2009 @@ -42,7 +42,13 @@ - + + + + + + + @@ -52,13 +58,13 @@ - + - + From ldr at codespeak.net Sun Jan 18 01:05:38 2009 From: ldr at codespeak.net (ldr at codespeak.net) Date: Sun, 18 Jan 2009 01:05:38 +0100 (CET) Subject: [z3-checkins] r61075 - z3/deliverance/sandboxes/paul/xdv Message-ID: <20090118000538.6E965169E28@codespeak.net> Author: ldr Date: Sun Jan 18 01:05:36 2009 New Revision: 61075 Modified: z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl z3/deliverance/sandboxes/paul/xdv/compiler.xsl Log: add a parameter to the xdv compiler to include extra user supplied templates Modified: z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl ============================================================================== --- z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl (original) +++ z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl Sun Jan 18 01:05:36 2009 @@ -69,4 +69,10 @@ + + + Modified: z3/deliverance/sandboxes/paul/xdv/compiler.xsl ============================================================================== --- z3/deliverance/sandboxes/paul/xdv/compiler.xsl (original) +++ z3/deliverance/sandboxes/paul/xdv/compiler.xsl Sun Jan 18 01:05:36 2009 @@ -6,6 +6,7 @@ rules.xml boilerplate.xsl + @@ -74,6 +75,12 @@ + + + + + + From ldr at codespeak.net Sun Jan 18 22:59:09 2009 From: ldr at codespeak.net (ldr at codespeak.net) Date: Sun, 18 Jan 2009 22:59:09 +0100 (CET) Subject: [z3-checkins] r61092 - z3/deliverance/sandboxes/paul/xdv Message-ID: <20090118215909.A289C1684F2@codespeak.net> Author: ldr Date: Sun Jan 18 22:59:08 2009 New Revision: 61092 Modified: z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl Log: no indenting - it messes up rendering on browser. add utf-8 encoding to output Modified: z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl ============================================================================== --- z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl (original) +++ z3/deliverance/sandboxes/paul/xdv/boilerplate.xsl Sun Jan 18 22:59:08 2009 @@ -2,7 +2,8 @@ - From z3-checkins at codespeak.net Sat Jan 24 22:05:21 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Sat, 24 Jan 2009 22:05:21 +0100 (CET) Subject: [z3-checkins] She got wet just by looking at my pants Message-ID: <20090124210521.420E6168527@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090124/7979b998/attachment.htm From z3-checkins at codespeak.net Mon Jan 26 10:08:26 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Mon, 26 Jan 2009 10:08:26 +0100 (CET) Subject: [z3-checkins] Watch Kim take it from behind Message-ID: <20090126090826.C36701684CF@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090126/c149adf0/attachment.htm From z3-checkins at codespeak.net Mon Jan 26 21:11:18 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Mon, 26 Jan 2009 21:11:18 +0100 (CET) Subject: [z3-checkins] Ultimately all women want size Message-ID: <20090126201118.50A7A1684C3@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090126/bcb17fa2/attachment.htm From z3-checkins at codespeak.net Tue Jan 27 02:24:32 2009 From: z3-checkins at codespeak.net (Canadian Pharmacy id4487) Date: Tue, 27 Jan 2009 02:24:32 +0100 (CET) Subject: [z3-checkins] Message 18880 Message-ID: <20090127012432.ABE881684A2@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090127/a88b5870/attachment.htm From z3-checkins at codespeak.net Tue Jan 27 03:38:54 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Tue, 27 Jan 2009 03:38:54 +0100 (CET) Subject: [z3-checkins] Gisele steamy home video Message-ID: <20090127023854.CFDF7168498@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090127/a1a2beff/attachment-0001.htm From ldr at codespeak.net Fri Jan 30 12:06:09 2009 From: ldr at codespeak.net (ldr at codespeak.net) Date: Fri, 30 Jan 2009 12:06:09 +0100 (CET) Subject: [z3-checkins] r61458 - z3/deliverance/sandboxes/paul/xdv Message-ID: <20090130110609.55CCC1684DB@codespeak.net> Author: ldr Date: Fri Jan 30 12:06:09 2009 New Revision: 61458 Modified: z3/deliverance/sandboxes/paul/xdv/compiler.xsl Log: Change behaviour of copy rule to use the theme contents as a default when no content node is found. Modified: z3/deliverance/sandboxes/paul/xdv/compiler.xsl ============================================================================== --- z3/deliverance/sandboxes/paul/xdv/compiler.xsl (original) +++ z3/deliverance/sandboxes/paul/xdv/compiler.xsl Fri Jan 30 12:06:09 2009 @@ -164,17 +164,31 @@ - - - - - + + + + + + + + + + + + - + + + + + + + + + + contains($ntokens, ' Anonymous ') + + or contains($ntokens, ' ') + + + + + + + + + + + + + + + + + + From ldr at codespeak.net Sat Feb 21 21:59:15 2009 From: ldr at codespeak.net (ldr at codespeak.net) Date: Sat, 21 Feb 2009 21:59:15 +0100 (CET) Subject: [z3-checkins] r62084 - z3/deliverance/sandboxes/laurence/security Message-ID: <20090221205915.72FF91684BC@codespeak.net> Author: ldr Date: Sat Feb 21 21:59:12 2009 New Revision: 62084 Added: z3/deliverance/sandboxes/laurence/security/re.xsl - copied, changed from r62083, z3/deliverance/sandboxes/laurence/security/security.xsl Modified: z3/deliverance/sandboxes/laurence/security/listing.html z3/deliverance/sandboxes/laurence/security/security.xsl Log: speed up a bit, longer test data. re.xsl applies 20x in 48ms, security.xsl in 64ms Modified: z3/deliverance/sandboxes/laurence/security/listing.html ============================================================================== --- z3/deliverance/sandboxes/laurence/security/listing.html (original) +++ z3/deliverance/sandboxes/laurence/security/listing.html Sat Feb 21 21:59:12 2009 @@ -5,6 +5,111 @@
  • Second
  • Third
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • + +
  • First
  • +
  • Second
  • +
  • Third
  • +
  • Fourth
  • \ No newline at end of file Copied: z3/deliverance/sandboxes/laurence/security/re.xsl (from r62083, z3/deliverance/sandboxes/laurence/security/security.xsl) ============================================================================== --- z3/deliverance/sandboxes/laurence/security/security.xsl (original) +++ z3/deliverance/sandboxes/laurence/security/re.xsl Sat Feb 21 21:59:12 2009 @@ -3,7 +3,7 @@ xmlns:s="http://security" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:str="http://exslt.org/strings" - xmlns:dyn="http://exslt.org/dynamic" + xmlns:regexp="http://exslt.org/regular-expressions" exclude-result-prefixes="s"> cat dog - - + .*\b((Anonymous)|())\b + - - - contains($ntokens, ' Anonymous ') - - or contains($ntokens, ' ') - - - + Modified: z3/deliverance/sandboxes/laurence/security/security.xsl ============================================================================== --- z3/deliverance/sandboxes/laurence/security/security.xsl (original) +++ z3/deliverance/sandboxes/laurence/security/security.xsl Sat Feb 21 21:59:12 2009 @@ -11,16 +11,16 @@ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> cat dog - + + contains($ntokens, ' Anonymous ') + + or contains($ntokens, ' ') + + - - contains($ntokens, ' Anonymous ') - - or contains($ntokens, ' ') - - + From optilude at codespeak.net Tue Feb 24 07:53:12 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Tue, 24 Feb 2009 07:53:12 +0100 (CET) Subject: [z3-checkins] r62103 - z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b1 Message-ID: <20090224065312.B6AA21684EB@codespeak.net> Author: optilude Date: Tue Feb 24 07:53:09 2009 New Revision: 62103 Added: z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b1/ - copied from r62102, z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/ Log: Tagging 1.0b1 From optilude at codespeak.net Tue Feb 24 07:53:35 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Tue, 24 Feb 2009 07:53:35 +0100 (CET) Subject: [z3-checkins] r62104 - z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b1 Message-ID: <20090224065335.CCD471684EB@codespeak.net> Author: optilude Date: Tue Feb 24 07:53:35 2009 New Revision: 62104 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b1/setup.py Log: Updating version and removing setup.cfg for the tag Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b1/setup.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b1/setup.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b1/setup.py Tue Feb 24 07:53:35 2009 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '1.0' +version = '1.0b1' setup(name='dv.xdvserver', version=version, From optilude at codespeak.net Tue Feb 24 07:54:09 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Tue, 24 Feb 2009 07:54:09 +0100 (CET) Subject: [z3-checkins] r62105 - z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk Message-ID: <20090224065409.9DE481684EB@codespeak.net> Author: optilude Date: Tue Feb 24 07:54:09 2009 New Revision: 62105 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Log: Updating version on trunk after tagging Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Tue Feb 24 07:54:09 2009 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '1.0' +version = '1.0b2' setup(name='dv.xdvserver', version=version, From optilude at codespeak.net Wed Feb 25 03:52:39 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Wed, 25 Feb 2009 03:52:39 +0100 (CET) Subject: [z3-checkins] r62124 - in z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk: . docs dv/xdvserver Message-ID: <20090225025239.9E605168419@codespeak.net> Author: optilude Date: Wed Feb 25 03:52:37 2009 New Revision: 62124 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Log: Add console script to perform theme compilation Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt Wed Feb 25 03:52:37 2009 @@ -1,7 +1,13 @@ Changelog ========= -1.0 - Unreleased +1.0b2 - 2009-02-25 +---------------- + +* Added console script for compiling the theme offline + [optilude] + +1.0b1 - 2009-02-24 ---------------- * Initial release Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py Wed Feb 25 03:52:37 2009 @@ -1,6 +1,5 @@ import os.path import re -import urllib2 from lxml import etree @@ -9,6 +8,8 @@ from paste.wsgilib import intercept_output from paste.deploy.converters import asbool +from dv.xdvserver.xdvcompiler import compile_theme + IGNORE_EXTENSIONS = ['js', 'css', 'gif', 'jpg', 'jpeg', 'pdf', 'ps', 'doc', 'png', 'ico', 'mov', 'mpg', 'mpeg', 'mp3', 'm4a', 'txt', 'rtf', 'swf', 'wav', 'zip', 'wmv', 'ppt', 'gz', 'tgz', @@ -19,14 +20,6 @@ HTML_DOC_PATTERN = re.compile(r"^.*<\s*html(\s*|>).*$",re.I|re.M) IMPORT_STYLESHEET_PATTERN = re.compile('@import url\\([\'"](.+)[\'"]\\);', re.I) -def to_absolute(src, prefix): - if not (src.startswith('/') or '://' in src): - if src.startswith('./'): - return "%s/%s" % (prefix, src[:2]) - else: - return "%s/%s" % (prefix, src) - return src - class XSLTMiddleware(object): """Apply XSLT in middleware """ @@ -162,37 +155,11 @@ self.transform = XSLTMiddleware(app, global_conf, xslt_source=self.compile_theme()) def compile_theme(self): - compiler = open(self.compiler) - compiler_transform = etree.XSLT(etree.ElementTree(file=compiler)) - compiler.close() - - theme = urllib2.urlopen(self.theme_uri) - parser = etree.HTMLParser() - theme_tree = etree.ElementTree(file=theme, parser=parser) - theme.close() - - if self.absolute_prefix: - for node in theme_tree.xpath('*//style | *//script | *//img | *//link'): - if node.tag == 'img' or node.tag == 'script': - src = node.get('src') - if src: - node.set('src', to_absolute(src, self.absolute_prefix)) - elif node.tag == 'link': - href = node.get('href') - if href: - node.set('href', to_absolute(href, self.absolute_prefix)) - elif node.tag == 'style': - node.text = IMPORT_STYLESHEET_PATTERN.sub('@import url("%s/\\1");' % self.absolute_prefix, node.text) - - compiled = compiler_transform(theme_tree, - rulesuri="'%s'" % self.rules, - boilerplateurl="'%s'" % self.boilerplate) - - return etree.tostring(compiled) + return compile_theme(self.compiler, self.theme_uri, self.rules, + self.boilerplate, self.absolute_prefix) def __call__(self, environ, start_response): transform = self.transform if self.live: transform = XSLTMiddleware(self.app, self.global_conf, xslt_source=self.compile_theme()) return transform(environ, start_response) - \ No newline at end of file Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Wed Feb 25 03:52:37 2009 @@ -31,6 +31,9 @@ # -*- Extra requirements: -*- ], entry_points=""" + [console_scripts] + xdvcompiler = dv.xdvserver.xdvcompiler:compile + [paste.filter_app_factory] xslt = dv.xdvserver.filter:XSLTMiddleware xdv = dv.xdvserver.filter:XDVMiddleware From optilude at codespeak.net Wed Feb 25 03:53:29 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Wed, 25 Feb 2009 03:53:29 +0100 (CET) Subject: [z3-checkins] r62125 - z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver Message-ID: <20090225025329.CC1E4168419@codespeak.net> Author: optilude Date: Wed Feb 25 03:53:24 2009 New Revision: 62125 Added: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Log: Ooops, missing file Added: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py ============================================================================== --- (empty file) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Wed Feb 25 03:53:24 2009 @@ -0,0 +1,97 @@ +from optparse import OptionParser + +import os.path +import re +import urllib2 + +from lxml import etree + +IMPORT_STYLESHEET_PATTERN = re.compile('@import url\\([\'"](.+)[\'"]\\);', re.I) + +def to_absolute(src, prefix): + if not (src.startswith('/') or '://' in src): + if src.startswith('./'): + return "%s/%s" % (prefix, src[:2]) + else: + return "%s/%s" % (prefix, src) + return src + +def compile_theme(compiler, theme_uri, rules, boilerplate, absolute_prefix=None): + """Invoke the xdv compiler + """ + + compiler = open(compiler) + compiler_transform = etree.XSLT(etree.ElementTree(file=compiler)) + compiler.close() + + theme = urllib2.urlopen(theme_uri) + parser = etree.HTMLParser() + theme_tree = etree.ElementTree(file=theme, parser=parser) + theme.close() + + if absolute_prefix: + for node in theme_tree.xpath('*//style | *//script | *//img | *//link'): + if node.tag == 'img' or node.tag == 'script': + src = node.get('src') + if src: + node.set('src', to_absolute(src, absolute_prefix)) + elif node.tag == 'link': + href = node.get('href') + if href: + node.set('href', to_absolute(href, absolute_prefix)) + elif node.tag == 'style': + node.text = IMPORT_STYLESHEET_PATTERN.sub('@import url("%s/\\1");' % absolute_prefix, node.text) + + compiled = compiler_transform(theme_tree, + rulesuri="'%s'" % rules, + boilerplateurl="'%s'" % boilerplate) + + return etree.tostring(compiled) + +def compile(): + """Called fromconsole script + """ + + + parser = OptionParser(usage="usage: %prog [options] output.xslt") + parser.add_option("-c", "--compiler", metavar="compiler.xsl", + help="Path to compiler.xsl", + dest="compiler", default=None) + parser.add_option("-t", "--theme", metavar="http://example.org/test.html", + help="URI to the theme file", + dest="theme", default=None) + parser.add_option("-r", "--rules", metavar="rules.xml", + help="XDV rules file filename", + dest="rules", default=None) + parser.add_option("-b", "--boilerplate", metavar="boilerplate.xsl", + help="XDV boilerplate XSLT file", + dest="boilerplate", default=None) + parser.add_option("-a", "--absolute-prefix", dest="absolute_prefix", metavar="http://example.org/mysite", + help="URL prefix used to turn relative links into absolute ones", + default=None) + + (options, args) = parser.parse_args() + + if len(args) != 1: + parser.error("No output file specified") + + if options.theme is None: + parser.error("No theme specified") + + if options.rules is None: + parser.error("No rules file specified") + + if options.compiler is None: + options.compiler = os.path.join(os.path.split(__file__)[0], 'compiler', 'compiler.xsl') + if options.boilerplate is None: + options.boilerplate = os.path.join(os.path.split(__file__)[0], 'compiler', 'boilerplate.xsl') + + + + output_xslt = compile_theme(options.compiler, options.theme, + options.rules, options.boilerplate, + options.absolute_prefix) + + output = open(args[0], 'w') + output.write(output_xslt) + output.close() From optilude at codespeak.net Wed Feb 25 03:56:27 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Wed, 25 Feb 2009 03:56:27 +0100 (CET) Subject: [z3-checkins] r62126 - z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b2 Message-ID: <20090225025627.4FD3416841E@codespeak.net> Author: optilude Date: Wed Feb 25 03:56:25 2009 New Revision: 62126 Added: z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b2/ - copied from r62125, z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/ Log: Tagging 1.0b2 From optilude at codespeak.net Wed Feb 25 03:57:14 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Wed, 25 Feb 2009 03:57:14 +0100 (CET) Subject: [z3-checkins] r62127 - z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk Message-ID: <20090225025714.69E0916841E@codespeak.net> Author: optilude Date: Wed Feb 25 03:57:13 2009 New Revision: 62127 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Log: Updating version on trunk after tagging Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Wed Feb 25 03:57:13 2009 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '1.0b2' +version = '1.0b3' setup(name='dv.xdvserver', version=version, From z3-checkins at codespeak.net Wed Feb 25 05:09:42 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Wed, 25 Feb 2009 05:09:42 +0100 (CET) Subject: [z3-checkins] Pharmacy Message 448139 Message-ID: <20090225040942.0E7B0168434@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090225/c086d6e0/attachment.htm From z3-checkins at codespeak.net Wed Feb 25 08:27:36 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Wed, 25 Feb 2009 08:27:36 +0100 (CET) Subject: [z3-checkins] Pharmacy Message 416894 Message-ID: <20090225072736.8FCB716841D@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090225/8f0edf6a/attachment.htm From z3-checkins at codespeak.net Wed Mar 4 06:01:15 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Wed, 4 Mar 2009 06:01:15 +0100 (CET) Subject: [z3-checkins] My sister said you want parttime-job Message-ID: <20090304050115.7C6B21684F1@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090304/9ccc5dd8/attachment.htm From z3-checkins at codespeak.net Mon Mar 9 01:04:21 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Mon, 9 Mar 2009 01:04:21 +0100 (CET) Subject: [z3-checkins] Trail for a real banger Message-ID: <20090309000421.74D201684F3@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090309/bd111982/attachment.htm From z3-checkins at codespeak.net Mon Mar 16 15:15:01 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Mon, 16 Mar 2009 15:15:01 +0100 (CET) Subject: [z3-checkins] failure notice Message-ID: <20090316141501.B27621683F0@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090316/8ff608bd/attachment-0001.htm From z3-checkins at codespeak.net Mon Mar 16 23:09:53 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Mon, 16 Mar 2009 23:09:53 +0100 (CET) Subject: [z3-checkins] Abs-olutely Fabulous... Message-ID: <20090316220953.021BC1683FF@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090316/f54d57c7/attachment.htm From z3-checkins at codespeak.net Sat Mar 21 05:57:48 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Sat, 21 Mar 2009 05:57:48 +0100 (CET) Subject: [z3-checkins] Email Handling Opinion Needed Message-ID: <20090321045748.32EA31684A6@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090321/9b438f99/attachment.htm From z3-checkins at codespeak.net Sat Mar 21 10:15:00 2009 From: z3-checkins at codespeak.net (Health News Alert) Date: Sat, 21 Mar 2009 10:15:00 +0100 (CET) Subject: [z3-checkins] Proof of fact I told you Message-ID: <20090321091500.F08E41684C0@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090321/db99550b/attachment.htm From z3-checkins at codespeak.net Mon Mar 23 00:53:40 2009 From: z3-checkins at codespeak.net (Pfizer ® Official Site) Date: Mon, 23 Mar 2009 00:53:40 +0100 (CET) Subject: [z3-checkins] Delivery Status Notification (Failure) Message-ID: <20090322235340.6E0881684CC@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090323/52e05ae3/attachment.htm From z3-checkins at codespeak.net Mon Mar 23 04:41:25 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Mon, 23 Mar 2009 04:41:25 +0100 (CET) Subject: [z3-checkins] itunes.com Invoice #45740 Message-ID: <20090323034125.9D6171684E4@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090323/335e1317/attachment.htm From z3-checkins at codespeak.net Mon Mar 23 15:36:47 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Mon, 23 Mar 2009 15:36:47 +0100 (CET) Subject: [z3-checkins] itunes.com Invoice #11975 Message-ID: <20090323143647.BC4F7168469@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090323/c1dd1e1c/attachment-0001.htm From z3-checkins at codespeak.net Mon Mar 23 20:13:38 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Mon, 23 Mar 2009 20:13:38 +0100 (CET) Subject: [z3-checkins] Email Handling Opinion Needed Message-ID: <20090323191338.307DE1684E2@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090323/3a1f6e42/attachment.htm From z3-checkins at codespeak.net Tue Mar 24 07:55:12 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Tue, 24 Mar 2009 07:55:12 +0100 (CET) Subject: [z3-checkins] Email Handling Opinion Needed Message-ID: <20090324065512.422DD1683F0@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090324/ea08fcd6/attachment.htm From z3-checkins at codespeak.net Tue Mar 24 15:00:47 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Tue, 24 Mar 2009 15:00:47 +0100 (CET) Subject: [z3-checkins] Discount message #7648568 Message-ID: <20090324140047.797A6168052@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090324/b089038c/attachment.htm From z3-checkins at codespeak.net Tue Mar 24 15:34:22 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Tue, 24 Mar 2009 15:34:22 +0100 (CET) Subject: [z3-checkins] itunes.com Invoice #13174 Message-ID: <20090324143422.4CD8C168454@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090324/3db1e7b5/attachment.htm From z3-checkins at codespeak.net Tue Mar 24 22:48:45 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Tue, 24 Mar 2009 22:48:45 +0100 (CET) Subject: [z3-checkins] Email Handling Opinion Needed Message-ID: <20090324214845.D643F168510@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090324/5848e2cf/attachment.htm From z3-checkins at codespeak.net Tue Mar 24 23:48:56 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Tue, 24 Mar 2009 23:48:56 +0100 (CET) Subject: [z3-checkins] Order Shipped -- Order #68602 Message-ID: <20090324224856.411E916851F@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090324/38b69698/attachment.htm From z3-checkins at codespeak.net Wed Mar 25 02:50:13 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Wed, 25 Mar 2009 02:50:13 +0100 (CET) Subject: [z3-checkins] You've received an answer to your question Message-ID: <20090325015013.31F4E168511@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090325/423edd4b/attachment.htm From z3-checkins at codespeak.net Thu Mar 26 07:51:29 2009 From: z3-checkins at codespeak.net (z3-checkins at codespeak.net) Date: Thu, 26 Mar 2009 07:51:29 +0100 (CET) Subject: [z3-checkins] Daily news Message-ID: <20090326065129.8CF50168483@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090326/5cefe05a/attachment-0001.htm From z3-checkins at codespeak.net Fri Mar 27 07:11:23 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Fri, 27 Mar 2009 07:11:23 +0100 (CET) Subject: [z3-checkins] Bust a move Message-ID: <20090327061123.62B691684A8@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090327/cda3fc3e/attachment.htm From optilude at codespeak.net Fri Mar 27 13:40:11 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Fri, 27 Mar 2009 13:40:11 +0100 (CET) Subject: [z3-checkins] r63385 - in z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk: docs dv/xdvserver Message-ID: <20090327124011.D6DB0168466@codespeak.net> Author: optilude Date: Fri Mar 27 13:40:08 2009 New Revision: 63385 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Log: Fix bugs found when testing on windows Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt Fri Mar 27 13:40:08 2009 @@ -1,8 +1,15 @@ Changelog ========= +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] Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Fri Mar 27 13:40:08 2009 @@ -24,7 +24,12 @@ compiler_transform = etree.XSLT(etree.ElementTree(file=compiler)) compiler.close() - theme = urllib2.urlopen(theme_uri) + try: + theme = urllib2.urlopen(theme_uri) + except: + # Allow local file paths too + theme = open(theme_uri) + parser = etree.HTMLParser() theme_tree = etree.ElementTree(file=theme, parser=parser) theme.close() @@ -42,9 +47,11 @@ elif node.tag == 'style': node.text = IMPORT_STYLESHEET_PATTERN.sub('@import url("%s/\\1");' % absolute_prefix, node.text) - compiled = compiler_transform(theme_tree, - rulesuri="'%s'" % rules, - boilerplateurl="'%s'" % boilerplate) + params = dict(rulesuri="'%s'" % rules) + if boilerplate: + params['boilerplateurl'] = "'%s'" % boilerplate + + compiled = compiler_transform(theme_tree, **params) return etree.tostring(compiled) @@ -83,10 +90,6 @@ if options.compiler is None: options.compiler = os.path.join(os.path.split(__file__)[0], 'compiler', 'compiler.xsl') - if options.boilerplate is None: - options.boilerplate = os.path.join(os.path.split(__file__)[0], 'compiler', 'boilerplate.xsl') - - output_xslt = compile_theme(options.compiler, options.theme, options.rules, options.boilerplate, From optilude at codespeak.net Fri Mar 27 13:40:42 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Fri, 27 Mar 2009 13:40:42 +0100 (CET) Subject: [z3-checkins] r63386 - z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b3 Message-ID: <20090327124042.BF690168466@codespeak.net> Author: optilude Date: Fri Mar 27 13:40:42 2009 New Revision: 63386 Added: z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b3/ - copied from r63385, z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/ Log: Tagging 1.0b3 From optilude at codespeak.net Fri Mar 27 13:41:17 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Fri, 27 Mar 2009 13:41:17 +0100 (CET) Subject: [z3-checkins] r63387 - z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk Message-ID: <20090327124117.3B810168466@codespeak.net> Author: optilude Date: Fri Mar 27 13:41:17 2009 New Revision: 63387 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Log: Updating version on trunk after tagging Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Fri Mar 27 13:41:17 2009 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '1.0b3' +version = '1.0b4' setup(name='dv.xdvserver', version=version, From z3-checkins at codespeak.net Fri Mar 27 18:32:42 2009 From: z3-checkins at codespeak.net (MensHealth.com) Date: Fri, 27 Mar 2009 18:32:42 +0100 (CET) Subject: [z3-checkins] Amazing secret data Message-ID: <20090327173242.B69FE168577@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/z3-checkins/attachments/20090327/c94b336a/attachment.htm From optilude at codespeak.net Sat Mar 28 15:30:51 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Sat, 28 Mar 2009 15:30:51 +0100 (CET) Subject: [z3-checkins] r63411 - z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver Message-ID: <20090328143051.942031684D9@codespeak.net> Author: optilude Date: Sat Mar 28 15:30:48 2009 New Revision: 63411 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Log: More fixes for windows startup Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py Sat Mar 28 15:30:48 2009 @@ -139,13 +139,11 @@ if compiler is None: self.compiler = os.path.join(os.path.split(__file__)[0], 'compiler', 'compiler.xsl') - if boilerplate is None: - self.boilerplate = os.path.join(os.path.split(__file__)[0], 'compiler', 'boilerplate.xsl') - if not os.path.isfile(self.compiler): raise ValueError("Compiler XSLT %s does not exist" % self.compiler) - if not os.path.isfile(self.boilerplate): + if boilerplate and not os.path.isfile(self.boilerplate): raise ValueError("Boilerplate XSLT %s does not exist" % self.boilerplate) + if not os.path.isfile(self.rules): raise ValueError("Rules file %s does not exist" % self.rules) Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Sat Mar 28 15:30:48 2009 @@ -2,6 +2,7 @@ import os.path import re +import sys import urllib2 from lxml import etree @@ -47,14 +48,25 @@ elif node.tag == 'style': node.text = IMPORT_STYLESHEET_PATTERN.sub('@import url("%s/\\1");' % absolute_prefix, node.text) - params = dict(rulesuri="'%s'" % rules) + params = dict(rulesuri="'%s'" % prepare_filename(rules)) if boilerplate: - params['boilerplateurl'] = "'%s'" % boilerplate + params['boilerplateurl'] = "'%s'" % prepare_filename(boilerplate) compiled = compiler_transform(theme_tree, **params) return etree.tostring(compiled) + +def prepare_filename(filename): + """Make file name string parameters compatible with xdv's compiler.xsl + """ + filename = os.path.abspath(filename) + if sys.platform.startswith('win'): + # compiler.xsl on Windows wants c:/foo/bar instead of C:\foo\bar + filename = filename.replace('\\', '/') + + return filename + def compile(): """Called fromconsole script """ From optilude at codespeak.net Sun Mar 29 15:57:28 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Sun, 29 Mar 2009 15:57:28 +0200 (CEST) Subject: [z3-checkins] r63417 - z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver Message-ID: <20090329135728.5C972168461@codespeak.net> Author: optilude Date: Sun Mar 29 15:57:26 2009 New Revision: 63417 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py Log: Add support for a list of non-themed pages. Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py Sun Mar 29 15:57:26 2009 @@ -24,7 +24,7 @@ """Apply XSLT in middleware """ - def __init__(self, app, global_conf, xslt_file=None, xslt_source=""): + def __init__(self, app, global_conf, ignore_paths=None, xslt_file=None, xslt_source=""): """Initialise, giving a filename or file pointer for an XSLT file. """ @@ -40,13 +40,19 @@ xslt_tree = etree.fromstring(xslt_source) self.transform = etree.XSLT(xslt_tree) + self.ignore_paths = [] + if ignore_paths: + ignore_paths = [s.strip() for s in ignore_paths.split('\n') if s.strip()] + for p in ignore_paths: + self.ignore_paths.append(re.compile(p)) + def should_intercept(self, status, headers): """Callback to determine if the content should be intercepted """ apply_theme = not header_value(headers, 'x-deliverance-no-theme') if not apply_theme: return False - + content_type = header_value(headers, 'content-type') if content_type is None: return True # 304s can have no content-type @@ -61,8 +67,10 @@ def __call__(self, environ, start_response): - if not environ['PATH_INFO']: - environ['PATH_INFO'] = '/' + path = environ['PATH_INFO'] + + if not path: + path = environ['PATH_INFO'] = '/' status, headers, body = intercept_output(environ, self.app, self.should_intercept, @@ -72,6 +80,12 @@ if status is None: return body + # don't style if the url should not be styled + for pattern in self.ignore_paths: + if pattern.match(path): + start_response(status, headers) + return [body] + # short circuit from theming if this is not likely to be HTML content_url = construct_url(environ) if not self.is_html(body) or self.should_ignore_url(content_url): @@ -104,7 +118,7 @@ """ def __init__(self, app, global_conf, theme_uri, rules, compiler=None, - boilerplate=None, live=False, absolute_prefix=None): + boilerplate=None, live=False, absolute_prefix=None, notheme=None): """Create the middleware. The parameters are: theme_uri @@ -124,7 +138,11 @@ absolute_prefix If set to a string, then all relative image and CSS references in the theme will be prefixed by this string. + notheme + Newline-separtated list of paths that should not be themed. + May include regular expressions. """ + self.app = app self.global_conf = global_conf @@ -148,16 +166,19 @@ raise ValueError("Rules file %s does not exist" % self.rules) self.live = asbool(live) - self.transform = None - if not live: - self.transform = XSLTMiddleware(app, global_conf, xslt_source=self.compile_theme()) + self.notheme = notheme + self.transform = self.get_transform() def compile_theme(self): return compile_theme(self.compiler, self.theme_uri, self.rules, self.boilerplate, self.absolute_prefix) + def get_transform(self): + return XSLTMiddleware(self.app, self.global_conf, + ignore_paths=self.notheme, xslt_source=self.compile_theme()) + def __call__(self, environ, start_response): transform = self.transform if self.live: - transform = XSLTMiddleware(self.app, self.global_conf, xslt_source=self.compile_theme()) + transform = self.get_transform() return transform(environ, start_response) From optilude at codespeak.net Sun Mar 29 16:04:04 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Sun, 29 Mar 2009 16:04:04 +0200 (CEST) Subject: [z3-checkins] r63418 - in z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk: . dv/xdvserver Message-ID: <20090329140404.07655168447@codespeak.net> Author: optilude Date: Sun Mar 29 16:04:04 2009 New Revision: 63418 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Log: Update documentation. Rename theme_uri parameter to be just 'theme' since it no longer has to be a URL Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt Sun Mar 29 16:04:04 2009 @@ -7,10 +7,16 @@ It takes two required parameters: - rules: a path to a file containing Deliverance rules - - theme_uri: a URI to a theme HTML file + - 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 @@ -48,8 +54,10 @@ [filter:theme.default] use = egg:dv.xdvserver#xdv - theme_uri = file://%(here)s/static/index.html + theme = %(here)s/static/index.html rules = %(here)s/static/rules/default.xml + notheme = + /emptypage [app:zope.proxy] use = egg:Paste#proxy Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py Sun Mar 29 16:04:04 2009 @@ -117,12 +117,12 @@ """Invoke the Deliverance xdv transform as middleware """ - def __init__(self, app, global_conf, theme_uri, rules, compiler=None, + def __init__(self, app, global_conf, theme, rules, compiler=None, boilerplate=None, live=False, absolute_prefix=None, notheme=None): """Create the middleware. The parameters are: - theme_uri - URI from which to pull the theme + theme + URI or file name from which to pull the theme rules Filename or path to the rules file compiler @@ -146,7 +146,7 @@ self.app = app self.global_conf = global_conf - self.theme_uri = theme_uri + self.theme = theme self.compiler = compiler self.boilerplate = boilerplate @@ -170,7 +170,7 @@ self.transform = self.get_transform() def compile_theme(self): - return compile_theme(self.compiler, self.theme_uri, self.rules, + return compile_theme(self.compiler, self.theme, self.rules, self.boilerplate, self.absolute_prefix) def get_transform(self): Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/xdvcompiler.py Sun Mar 29 16:04:04 2009 @@ -17,7 +17,7 @@ return "%s/%s" % (prefix, src) return src -def compile_theme(compiler, theme_uri, rules, boilerplate, absolute_prefix=None): +def compile_theme(compiler, theme, rules, boilerplate, absolute_prefix=None): """Invoke the xdv compiler """ @@ -26,10 +26,10 @@ compiler.close() try: - theme = urllib2.urlopen(theme_uri) + theme = urllib2.urlopen(theme) except: # Allow local file paths too - theme = open(theme_uri) + theme = open(theme) parser = etree.HTMLParser() theme_tree = etree.ElementTree(file=theme, parser=parser) From optilude at codespeak.net Mon Mar 30 17:01:24 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Mon, 30 Mar 2009 17:01:24 +0200 (CEST) Subject: [z3-checkins] r63438 - in z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk: . docs dv/xdvserver Message-ID: <20090330150124.0041B168419@codespeak.net> Author: optilude Date: Mon Mar 30 17:01:23 2009 New Revision: 63438 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py Log: Prepare for release Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/README.txt Mon Mar 30 17:01:23 2009 @@ -61,4 +61,4 @@ [app:zope.proxy] use = egg:Paste#proxy - address = http://localhost:8080/VirtualHostBase/http/localhost:5000/demo/VirtualHostRoot/ \ No newline at end of file + address = http://localhost:8080/VirtualHostBase/http/localhost:5000/demo/VirtualHostRoot/ Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/docs/HISTORY.txt Mon Mar 30 17:01:23 2009 @@ -1,6 +1,20 @@ Changelog ========= +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 ------------------ Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/dv/xdvserver/filter.py Mon Mar 30 17:01:23 2009 @@ -118,7 +118,8 @@ """ def __init__(self, app, global_conf, theme, rules, compiler=None, - boilerplate=None, live=False, absolute_prefix=None, notheme=None): + boilerplate=None, live=False, absolute_prefix=None, notheme=None, + theme_uri=None): """Create the middleware. The parameters are: theme @@ -148,6 +149,10 @@ self.theme = theme + # For BBB + if not theme and theme_uri: + self.theme = theme_uri + self.compiler = compiler self.boilerplate = boilerplate self.rules = rules From optilude at codespeak.net Mon Mar 30 17:06:06 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Mon, 30 Mar 2009 17:06:06 +0200 (CEST) Subject: [z3-checkins] r63439 - z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b4 Message-ID: <20090330150606.387FF168455@codespeak.net> Author: optilude Date: Mon Mar 30 17:06:05 2009 New Revision: 63439 Added: z3/deliverance/sandboxes/optilude/dv.xdvserver/tags/1.0b4/ - copied from r63438, z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/ Log: Tagging 1.0b4 From optilude at codespeak.net Mon Mar 30 17:06:42 2009 From: optilude at codespeak.net (optilude at codespeak.net) Date: Mon, 30 Mar 2009 17:06:42 +0200 (CEST) Subject: [z3-checkins] r63440 - z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk Message-ID: <20090330150642.1F5D516845A@codespeak.net> Author: optilude Date: Mon Mar 30 17:06:41 2009 New Revision: 63440 Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Log: Updating version on trunk after tagging Modified: z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py ============================================================================== --- z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py (original) +++ z3/deliverance/sandboxes/optilude/dv.xdvserver/trunk/setup.py Mon Mar 30 17:06:41 2009 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = '1.0b4' +version = '1.0b5' setup(name='dv.xdvserver', version=version,