[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[OpenTAL-checkins] opental/OpenTAL tal_tester.py
From: |
Fernando Lalo Martins |
Subject: |
[OpenTAL-checkins] opental/OpenTAL tal_tester.py |
Date: |
Thu, 13 Mar 2003 21:02:29 -0500 |
CVSROOT: /cvsroot/opental
Module name: opental
Changes by: Fernando Lalo Martins <address@hidden> 03/03/13 21:02:18
Modified files:
OpenTAL : tal_tester.py
Log message:
better make this script work, since it seems to be the first thing
people check
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/opental/opental/OpenTAL/tal_tester.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: opental/OpenTAL/tal_tester.py
diff -u opental/OpenTAL/tal_tester.py:1.1 opental/OpenTAL/tal_tester.py:1.2
--- opental/OpenTAL/tal_tester.py:1.1 Thu Jan 16 17:52:46 2003
+++ opental/OpenTAL/tal_tester.py Thu Mar 13 21:02:16 2003
@@ -18,27 +18,38 @@
# tester: handle the tal: and metal: namespaces
-from tal_handler import tal_handler, tal_ns
-from metal_handler import metal_handler, metal_ns, metal_compilefile,
metal_getmacros
+# ATTENTION: this script is NOT the best way to find out how to use
+# OpenTAL from Python, and it's not particularly useful either
+# (because its Context has no useful bindings).
+# A more useful tool is the Static subpackage.
+# This script is not guaranteed to be kept up-to-date either.
+
+from tal_handler import *
+from metal_handler import *
if __name__ == '__main__':
import sys, pax, pax.paxtransform
- zpt_tr_engine = pax.paxtransform.Engine()
- zpt_tr_engine.add_handler(metal_ns, metal_handler)
- zpt_tr_engine.add_handler(tal_ns, tal_handler)
- import DummyEngine
- default = DummyEngine.Default
- class DumbContext:
- def __init__(self, tr_engine, macros=None):
- self.engine = DummyEngine.DummyEngine(macros)
- self.tr_engine = tr_engine
- self.engine.compilefile = metal_compilefile
- self.engine.getmacros = metal_getmacros
+ compile_engine = pax.paxtransform.Engine()
+ compile_engine.add_handler(metal_ns, metal_handler)
+ compile_engine.add_handler(tal_ns, tal_handler)
+ render_engine = pax.paxtransform.RenderingEngine()
+ render_engine.add_handler(metal_ns, metal_handler)
+ render_engine.add_handler(tal_ns, tal_handler)
if len(sys.argv) > 1:
srcfile = open(sys.argv[1])
else:
srcfile = sys.stdin
sys.stderr.write('Reading source from stdin\n')
- source = pax.xml2pax(srcfile.read())
- macros = metal_getmacros(source)
- print pax.XML(zpt_tr_engine.transform(source, DumbContext(zpt_tr_engine,
macros)))
+ source = pax.text2pax(srcfile.read(), builtin_namespaces={'tal': tal_ns,
'metal': metal_ns})
+ print source
+ import Context, Expressions
+ expr_engine = Expressions.Engine()
+ context = Context.Context(expr_engine)
+ compile_engine.initialize(context)
+ compiled = compile_engine.transform(source, context)
+ macros = getattr(context, 'metal_macros', None)
+ context = Context.Context(expr_engine, names={'macros': macros})
+ context.encoding = sys.getdefaultencoding()
+ context.root_xmlns_map = {}
+ render_engine.initialize(context)
+ print render_engine.transform(compiled, context).text
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [OpenTAL-checkins] opental/OpenTAL tal_tester.py,
Fernando Lalo Martins <=