/usr/lib/python3/dist-packages/wither-1.1.egg-info/PKG-INFO is in python3-wither 1.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | Metadata-Version: 1.0
Name: wither
Version: 1.1
Summary: XML Generation DSL
Home-page: http://code.pocketnix.org/wither
Author: Da_Blitz
Author-email: code@pocketnix.org
License: MIT BSD
Description: Wither
======
XML/HTML Generation DSL
Intro
------
Wither is a library designed to make XML generation under python as simple and
as nicely formatted as python code.
Wither is implemented as a thin stateless wrapper around etree.Element objects
and works by making use of the 'with' keyword in python to build a nested tree
of etree objects that can be processed with standard tools/techniques
by using python as a DSL you can automatically ensure that all tags are
properly closed and also execute arbitrary python code to build things such as
lists or to embed widgets
Example
--------
>>> import lxml.usedoctest
>>> from wither import Node
>>> n = Node('html')
>>> with n.head as head:
... head.title == 'Wither README Example'
... head.link(href='http://code.pocketnix.org/wither', rel='homepage')
<...>
>>> with n.body as body:
... body.h1 == 'Welcome to the Wither README'
... with body.div as div:
... div.p == 'This is the example from the README file'
... div.p(style='color: red;') == 'Big Red Warning'
<...>
>>> print(n)
<html><head><title>Wither README Example</title><link
href="http://code.pocketnix.org/wither"
rel="homepage"/></head><body><h1>Welcome to the Wither README</h1><div><p>This
is the example from the README file</p><p style="color: red;">Big Red
Warning</p></div></body></html>
Features
---------
* Uses python as a DSL for XML Generation
* Uses/Abuses python syntax to make node generation shorter and more visually
appealing
* Uses lxml for document generation
* Possibility to fall back to built in etree implementations (XXX TODO: Write
me)
* Easy widget creation
* Implicit verification of document correctness (python's indentation means you
cant forget to close a tag)
Dependencies
-------------
* lxml - may be possible to replace this with python's inbuilt etree support
Installation
-------------
::
$ virtualenv env
$ . env/bin/activate
# pip install wither
Compatibility
--------------
Wither supports Python 2.7 and Python 3.2 and up as its supported python
versions but may also work on earlier versions of python 3 and python 2.6.
while these platforms are automatically tested to check for breakages these
earlier versions are not officially supported and failing tests are for
informational purposes only.
Motivations
------------
Wither is very much a project that was written 'because i can'. I have multiple
python modules that abuse python syntax in interesting ways to do things like
pattern matching of automatic retry of transactions for Databases that are all
concise and visually appealing.
after seeing the 'with' statement and its use in python 2.6 with nesting for
using multiple context generators (instead of python 2.7's flattened version) i
decided to see if i could use this to upgrade an existing XML generation
program that used a similar concept with object.
the aim of this project is not to create a fast generator but create something
that looks 'right' when included inline with python code and support dynamic
features like a string template library would.
Further Ideas
-------------
By using 'yield' in strategic spots it may be possible to partially render a
template allowing one to send a prerendered 'frame' (or the head part of it at
least) and then generate the body followed by the tail (of the frame) to the
client thereby speeding up transmission of the first byte to the client and
avoiding a dogpile of transmission at the end of the request. this should allow
clients to render their pages quicker as well as they have partial data with
which they can start planning out the layout of the page
Keywords: XML HTML Generation DSL
Platform: UNKNOWN
|