PK4~7zope/__init__.py# namespace package boilerplate try: __import__('pkg_resources').declare_namespace(__name__) except ImportError, e: from pkgutil import extend_path __path__ = extend_path(__path__, __name__) PK 4Mmzope/__init__.pyc; O3Dc@sOyedieWn1ej o%ZdklZeeeZnXdS(s pkg_resources(s extend_pathN(s __import__sdeclare_namespaces__name__s ImportErrorsespkgutils extend_paths__path__(ses extend_paths__path__((s+build/bdist.linux-i686/egg/zope/__init__.pys?s PK 4ο9 9 %zope/pagetemplate/pagetemplatefile.py############################################################################## # # Copyright (c) 2001, 2002 Zope Corporation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Filesystem Page Template module Zope object encapsulating a Page Template from the filesystem. $Id$ """ import os, sys import logging from zope.pagetemplate.pagetemplate import PageTemplate def package_home(gdict): filename = gdict["__file__"] return os.path.dirname(filename) class PageTemplateFile(PageTemplate): "Zope wrapper for filesystem Page Template using TAL, TALES, and METAL" _v_last_read = 0 def __init__(self, filename, _prefix=None): path = self.get_path_from_prefix(_prefix) self.filename = os.path.join(path, filename) if not os.path.isfile(self.filename): raise ValueError("No such file", self.filename) def get_path_from_prefix(self, _prefix): if isinstance(_prefix, str): path = _prefix else: if _prefix is None: _prefix = sys._getframe(2).f_globals path = package_home(_prefix) return path def _cook_check(self): if self._v_last_read and not __debug__: return __traceback_info__ = self.filename try: mtime = os.path.getmtime(self.filename) except OSError: mtime = 0 if self._v_program is not None and mtime == self._v_last_read: return f = open(self.filename, "rb") try: text = f.read(XML_PREFIX_MAX_LENGTH) except: f.close() raise t = sniff_type(text) if t != "text/xml": # For HTML, we really want the file read in text mode: f.close() f = open(self.filename) text = '' text += f.read() f.close() self.pt_edit(text, t) self._cook() if self._v_errors: logging.error('PageTemplateFile: Error in template: %s', '\n'.join(self._v_errors)) return self._v_last_read = mtime def pt_source_file(self): return self.filename def __getstate__(self): raise TypeError("non-picklable object") XML_PREFIXES = [ "') if errend >= 0: text = text[errend + 3:] if text[:1] == "\n": text = text[1:] if self._text != text: self._text = text # we always want to cook on an update, even if the source # is the same. Possibly because the content-type might have changed. self._cook() def read(self): """Gets the source, sometimes with macros expanded.""" self._cook_check() if not self._v_errors: if not self.expand: return self._text try: # This gets called, if macro expansion is turned on. # Note that an empty dictionary is fine for the context at # this point, since we are not evaluating the template. return self.pt_render({}, source=1) except: return ('%s\n Macro expansion failed\n %s\n-->\n%s' % (_error_start, "%s: %s" % sys.exc_info()[:2], self._text) ) return ('%s\n %s\n-->\n%s' % (_error_start, '\n'.join(self._v_errors), self._text)) def pt_source_file(self): """To be overridden.""" return None def _cook_check(self): if not self._v_cooked: self._cook() def _cook(self): """Compile the TAL and METAL statments. Cooking must not fail due to compilation errors in templates. """ engine = self.pt_getEngine() source_file = self.pt_source_file() if self.content_type == 'text/html': gen = TALGenerator(engine, xml=0, source_file=source_file) parser = HTMLTALParser(gen) else: gen = TALGenerator(engine, source_file=source_file) parser = TALParser(gen) self._v_errors = () try: parser.parseString(self._text) self._v_program, self._v_macros = parser.getCode() except: self._v_errors = ["Compilation failed", "%s: %s" % sys.exc_info()[:2]] self._v_warnings = parser.getWarnings() self._v_cooked = 1 class TemplateUsage(object): def __init__(self, value): if not isinstance(value, unicode): raise TypeError('TemplateUsage should be initialized with a ' 'Unicode string', repr(value)) self.stringValue = value def __str__(self): return self.stringValue def __getitem__(self, key): if key == self.stringValue: return self.stringValue else: return None def __nonzero__(self): return self.stringValue <> u'' class PTRuntimeError(RuntimeError): '''The Page Template has template errors that prevent it from rendering.''' pass class PageTemplateTracebackSupplement(object): #implements(ITracebackSupplement) def __init__(self, pt, namespace): self.manageable_object = pt try: w = pt.pt_warnings() except: # We're already trying to report an error, don't make another. w = () e = pt.pt_errors(namespace) if e: w = list(w) + list(e) self.warnings = w PK 40zope/pagetemplate/__init__.py############################################################################## # # Copyright (c) 2001, 2002 Zope Corporation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Page Templates $Id$ """ PK 4\ ZZzope/pagetemplate/interfaces.py############################################################################## # # Copyright (c) 2002 Zope Corporation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Interface that describes the 'macros' attribute of a PageTemplate. $Id: interfaces.py 26187 2004-07-07 20:24:18Z fdrake $ """ from zope.interface import Interface, Attribute class IPageTemplate(Interface): """Objects that can render page templates """ def __call__(*args, **kw): """Render a page template The argument handling is specific to particular implementations. Normally, however, positional arguments are bound to the top-level `args` variable and keyword arguments are bound to the top-level `options` variable. """ def pt_edit(source, content_type): """Set the source and content type """ def pt_errors(namespace): """Return a sequence of strings that describe errors in the template. The errors may occur when the template is compiled or rendered. `namespace` is the set of names passed to the TALES expression evaluator, similar to what's returned by pt_getContext(). This can be used to let a template author know what went wrong when an attempt was made to render the template. """ def pt_warnings(): """Return a sequence of warnings from the parser. This can be useful to present to the template author to indication forward compatibility problems with the template. """ def read(): """Get the template source """ macros = Attribute("An object that implements the __getitem__ " "protocol, containing page template macros.") class IPageTemplateSubclassing(IPageTemplate): """Behavior that may be overridden or used by subclasses """ def pt_getContext(**kw): """Compute a dictionary of top-level template names Responsible for returning the set of top-level names supported in path expressions """ def pt_getEngine(): """Returns the TALES expression evaluator. """ def pt_getEngineContext(namespace): """Return an execution context from the expression engine.""" def __call__(*args, **kw): """Render a page template This is sometimes overridden to provide additional argument binding. """ def pt_source_file(): """return some text describing where a bit of ZPT code came from. This could be a file path, a object path, etc. """ def _cook(): """Compile the source Results are saved in the variables: _v_errors, _v_warnings, _v_program, and _v_macros, and the flag _v_cooked is set. """ def _cook_check(): """Compiles the source if necessary Subclasses might override this to influence the decision about whether compilation is necessary. """ content_type = Attribute("The content-type of the generated output") expand = Attribute( "Flag indicating whether the read method should expand macros") PK 4꫇##"zope/pagetemplate/DEPENDENCIES.cfgzope.interface zope.tal zope.tales PK 4}"zope/pagetemplate/architecture.txtZPT Architecture ================ There are a number of major components that make up the page-template architecture: - The TAL compiler and interpreter. This is responsible for compiling source files and for executing compiled templates. See the zope.tal package for more information. - An expression engine is responsible for compiling expressions and for creating expression execution contexts. It is common for applications to override expression engines to provide custom expression support or to change the way expressions are implemented. The `zope.app.pagetemplate` package uses this to implement trusted and untrusted evaluation; a different engine is used for each, with different implementations of the same type of expressions. Expression contexts support execution of expressions and provide APIs for setting up variable scopes and setting variables. The expressions contexts are passed to the TAL interpreter at execution time. The most commonly used expression implementation is that found in `zope.tales`. - Page templates tie everything together. The assemble an expression engine with the TAL interpreter and orchestrate management of source and compiled template data. See `interfaces.py`. PK 4vǻzope/pagetemplate/readme.txt============== Page Templates ============== :Author: Kapil Thangavelu Introduction ------------ Page Templates provide an elegant templating mechanism that achieves a clean separation of presentation and application logic while allowing for designers to work with templates in their visual editing tools (FrontPage, Dreamweaver, GoLive, etc.). This document focuses on usage of Page Templates outside of a Zope context, it does *not* explain how to write page templates as there are several resources on the web which do so. Simple Usage ------------ Using Page Templates outside of Zope3 is very easy and straight forward. A quick example:: >>> from zope.pagetemplate.pagetemplatefile import PageTemplateFile >>> my_pt = PageTemplateFile('hello_world.pt') >>> my_pt() u'Hello World' Subclassing PageTemplates ------------------------- Lets say we want to alter page templates such that keyword arguments appear as top level items in the namespace. We can subclass `PageTemplate` and alter the default behavior of `pt_getContext()` to add them in:: from zope.pagetemplate.pagetemplate import PageTemplate class mypt(PageTemplate): def pt_getContext(self, args=(), options={}, **kw): rval = PageTemplate.pt_getContext(self, args=args) options.update(rval) return options class foo: def getContents(self): return 'hi' So now we can bind objects in a more arbitrary fashion, like the following:: template = """ Good Stuff Here """ pt = mypt() pt.write(template) pt(das_object=foo()) See `interfaces.py`. PK 4hNLL&zope/pagetemplate/pagetemplatefile.pyc; DV3Dc@sdZdkZdkZdkZdklZdZdefdYZdddd d d gZe e e eZ d Z dS( sfFilesystem Page Template module Zope object encapsulating a Page Template from the filesystem. $Id$ N(s PageTemplatecCs|d}tii|SdS(Ns__file__(sgdictsfilenamesosspathsdirname(sgdictsfilename((s@build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplatefile.pys package_homes sPageTemplateFilecBsDtZdZdZedZdZdZdZdZ RS(sEZope wrapper for filesystem Page Template using TAL, TALES, and METALicCsX|i|}tii|||_tii|i otd|indS(Ns No such file( sselfsget_path_from_prefixs_prefixspathsossjoinsfilenamesisfiles ValueError(sselfsfilenames_prefixspath((s@build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplatefile.pys__init__"scCsQt|to |}n0|tjotidi}nt|}|SdS(Ni( s isinstances_prefixsstrspathsNonessyss _getframes f_globalss package_home(sselfs_prefixspath((s@build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplatefile.pysget_path_from_prefix(s    cCsg|iot odSn|i}ytii|i}Wnt j o d}nX|i t j o ||ijodSnt |id}y|it}Wn|inXt|}|djo#|it |i}d}n||i7}|i|i|||i|io$tiddi|idSn||_dS(Nisrbstext/xmlss'PageTemplateFile: Error in template: %ss (sselfs _v_last_reads __debug__sfilenames__traceback_info__sosspathsgetmtimesmtimesOSErrors _v_programsNonesopensfsreadsXML_PREFIX_MAX_LENGTHstextscloses sniff_typestspt_edits_cooks _v_errorssloggingserrorsjoin(sselfsfs__traceback_info__stextstsmtime((s@build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplatefile.pys _cook_check1s:            cCs |iSdS(N(sselfsfilename(sself((s@build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplatefile.pyspt_source_fileQscCstddS(Nsnon-picklable object(s TypeError(sself((s@build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplatefile.pys __getstate__Ts( s__name__s __module__s__doc__s _v_last_readsNones__init__sget_path_from_prefixs _cook_checkspt_source_files __getstate__(((s@build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplatefile.pysPageTemplateFiles   siiis ( s isinstancestextsstrsunicodesAssertionErrors startswiths _error_startsfindserrendsselfs_texts_cook(sselfstextserrend((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pyswrites  cCs|i|i o]|i o |iSny|ihddSWqrdtdtid |ifSqrXndtdi |i|ifSdS( s0Gets the source, sometimes with macros expanded.ssourceis%%s Macro expansion failed %s --> %ss%s: %sis %s %s --> %ss N( sselfs _cook_checks _v_errorssexpands_texts pt_renders _error_startssyssexc_infosjoin(sself((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pysreads    *cCstSdS(sTo be overridden.N(sNone(sself((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pyspt_source_filescCs|i o|indS(N(sselfs _v_cookeds_cook(sself((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys _cook_checks cCs|i}|i}|idjo(t|ddd|}t|}nt|d|}t |}f|_ y,|i |i |i\|_|_Wn$ddtid g|_ nX|i|_d|_d S( stCompile the TAL and METAL statments. Cooking must not fail due to compilation errors in templates. s text/htmlsxmlis source_filesCompilation faileds%s: %siiN(sselfs pt_getEnginesenginespt_source_files source_files content_types TALGeneratorsgens HTMLTALParsersparsers TALParsers _v_errorss parseStrings_textsgetCodes _v_programs _v_macrosssyssexc_infos getWarningss _v_warningss _v_cooked(sselfsenginesparsers source_filesgen((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys_cooks     !(#s__name__s __module__s__doc__szopes interfaces implementss pagetemplates interfacessIPageTemplateSubclassings content_typesexpands _v_errorss _v_warningssNones _v_programs _v_macross _v_cookeds_textsMacroCollectionsmacrosspt_edits_default_optionss pt_getContexts__call__spt_getEngineContexts pt_getEnginesFalses pt_renders pt_errorss pt_warningsswritesreadspt_source_files _cook_checks_cook(((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys PageTemplate*s0            s TemplateUsagecBs,tZdZdZdZdZRS(NcCs7t|t otdt|n||_dS(Ns9TemplateUsage should be initialized with a Unicode string(s isinstancesvaluesunicodes TypeErrorsreprsselfs stringValue(sselfsvalue((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys__init__scCs |iSdS(N(sselfs stringValue(sself((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys__str__scCs#||ijo |iSntSdS(N(skeysselfs stringValuesNone(sselfskey((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys __getitem__s cCs|idjSdS(Nu(sselfs stringValue(sself((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys __nonzero__s(s__name__s __module__s__init__s__str__s __getitem__s __nonzero__(((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys TemplateUsages   sPTRuntimeErrorcBstZdZRS(sEThe Page Template has template errors that prevent it from rendering.(s__name__s __module__s__doc__(((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pysPTRuntimeErrors sPageTemplateTracebackSupplementcBstZdZRS(NcCsf||_y|i}Wn f}nX|i|}|ot|t|}n||_ dS(N( sptsselfsmanageable_objects pt_warningssws pt_errorss namespaceseslistswarnings(sselfspts namespacesesw((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys__init__s  (s__name__s __module__s__init__(((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pysPageTemplateTracebackSupplements(s__doc__ssysszope.tal.talparsers TALParserszope.tal.htmltalparsers HTMLTALParserszope.tal.talgenerators TALGeneratorszope.tal.talinterpretersTALInterpreterszope.tales.enginesEnginesStringIOszope.pagetemplate.interfacesszopeszope.interfacesobjectsMacroCollections_default_optionss _error_starts PageTemplates TemplateUsages RuntimeErrorsPTRuntimeErrorsPageTemplateTracebackSupplement(sEngines TALParsersTALInterpretersStringIOs TemplateUsagesMacroCollections TALGenerators PageTemplatessyss _error_startsPageTemplateTracebackSupplementszopesPTRuntimeErrors HTMLTALParsers_default_options((s<build/bdist.linux-i686/egg/zope/pagetemplate/pagetemplate.pys?s          PK 40q>zope/pagetemplate/__init__.pyc; DV3Dc@s dZdS(sPage Templates $Id$ N(s__doc__(((s8build/bdist.linux-i686/egg/zope/pagetemplate/__init__.pys?sPK 49 zope/pagetemplate/interfaces.pyc; DV3Dc@sIdZdklZlZdefdYZdefdYZdS(s{Interface that describes the 'macros' attribute of a PageTemplate. $Id: interfaces.py 26187 2004-07-07 20:24:18Z fdrake $ (s Interfaces Attributes IPageTemplatecBsGtZdZdZdZdZdZdZedZ RS(s+Objects that can render page templates cOsdS(sRender a page template The argument handling is specific to particular implementations. Normally, however, positional arguments are bound to the top-level `args` variable and keyword arguments are bound to the top-level `options` variable. N((sargsskw((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys__call__scCsdS(s(Set the source and content type N((ssources content_type((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pyspt_edit"scCsdS(sReturn a sequence of strings that describe errors in the template. The errors may occur when the template is compiled or rendered. `namespace` is the set of names passed to the TALES expression evaluator, similar to what's returned by pt_getContext(). This can be used to let a template author know what went wrong when an attempt was made to render the template. N((s namespace((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys pt_errors&s cCsdS(sReturn a sequence of warnings from the parser. This can be useful to present to the template author to indication forward compatibility problems with the template. N((((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys pt_warnings3scCsdS(s Get the template source N((((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pysread:ssTAn object that implements the __getitem__ protocol, containing page template macros.( s__name__s __module__s__doc__s__call__spt_edits pt_errorss pt_warningssreads Attributesmacros(((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys IPageTemplates    sIPageTemplateSubclassingcBsetZdZdZdZdZdZdZdZdZ e dZ e d Z RS( s:Behavior that may be overridden or used by subclasses cKsdS(sCompute a dictionary of top-level template names Responsible for returning the set of top-level names supported in path expressions N((skw((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys pt_getContextFscCsdS(s0Returns the TALES expression evaluator. N((((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys pt_getEngineNscCsdS(s7Return an execution context from the expression engine.N((s namespace((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pyspt_getEngineContextRscOsdS(suRender a page template This is sometimes overridden to provide additional argument binding. N((sargsskw((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys__call__UscCsdS(sreturn some text describing where a bit of ZPT code came from. This could be a file path, a object path, etc. N((((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pyspt_source_file\scCsdS(sCompile the source Results are saved in the variables: _v_errors, _v_warnings, _v_program, and _v_macros, and the flag _v_cooked is set. N((((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys_cookbscCsdS(sCompiles the source if necessary Subclasses might override this to influence the decision about whether compilation is necessary. N((((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys _cook_checkhss(The content-type of the generated outputs<Flag indicating whether the read method should expand macros( s__name__s __module__s__doc__s pt_getContexts pt_getEnginespt_getEngineContexts__call__spt_source_files_cooks _cook_checks Attributes content_typesexpand(((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pysIPageTemplateSubclassingAs         N(s__doc__szope.interfaces Interfaces Attributes IPageTemplatesIPageTemplateSubclassing(s Interfaces Attributes IPageTemplatesIPageTemplateSubclassing((s:build/bdist.linux-i686/egg/zope/pagetemplate/interfaces.pys?s,PK 4XPS5zope/pagetemplate/tests/input/checknotexpression.html
not:python:0
not:python:1
not: python:1
not:python:range(1,20)
PK 4˭ bb/zope/pagetemplate/tests/input/checknothing.html Hello World! PK 4>^/zope/pagetemplate/tests/input/checkpathalt.html

1

2

3

4

5

Z

Z

Z

Z

PK 4G5gg3zope/pagetemplate/tests/input/checkpathnothing.html Hello World! PK 4~QQ5zope/pagetemplate/tests/input/checkwithxmlheader.html PK 4nS*(zope/pagetemplate/tests/input/dtml1.html Test of documentation templates blah
The arguments to this test program were:
  • Argument number 99 is default

No arguments were given.

And thats da trooth. PK 4vj(zope/pagetemplate/tests/input/dtml3.htmlTest of documentation templates
The arguments were: (previous start item-previous end item)
??.
Argument 99 was ??
(next start item-next end item)

No arguments were given.

And I am 100% sure! PK 4
Should be 2 here!
Should be 1 here!
Should be 3 here!
PK 4sOO(zope/pagetemplate/tests/input/loop1.html Loop doc

Choose your type:

PK 4WM3ss3zope/pagetemplate/tests/input/stringexpression.html This is the title PK 4Rl +zope/pagetemplate/tests/input/teeshop1.html Zope Stuff

apparel mugs toys misc


Description: This is the tee for those who LOVE Zope. Show your heart on your tee.

Price:12.99

 

Copyright 2000 4AM Productions, Inc.. All rights reserved.
Questions or problems should be directed to the webmaster, 254-412-0846.

 

PK 4=pbb+zope/pagetemplate/tests/input/teeshop2.html
Body
PK 4 -zope/pagetemplate/tests/input/teeshoplaf.html Zope Stuff

apparel mugs toys misc



This is the tee for those who LOVE Zope. Show your heart on your tee.



Copyright © 2000 4AM Productions, Inc.. All rights reserved.
Questions or problems should be directed to the webmaster, 254-412-0846.
PK 4ý%[1zope/pagetemplate/tests/input/template_usage.html Test of documentation templates blah

usage is defined.

This is test.

This is retest.

PK 4QXGG6zope/pagetemplate/tests/output/checknotexpression.html
not:python:0
PK 4ag@@0zope/pagetemplate/tests/output/checknothing.html PK 4Yl0zope/pagetemplate/tests/output/checkpathalt.html

X

X

X

X

X

Z

Z

Z

c

PK 4ag@@4zope/pagetemplate/tests/output/checkpathnothing.html PK 4,/::6zope/pagetemplate/tests/output/checkwithxmlheader.html Hello! PK 4>.*zope/pagetemplate/tests/output/dtml1a.html Test of documentation templates
The arguments to this test program were:
  • Argument number 1 is one
  • Argument number 2 is two
  • Argument number 3 is three
  • Argument number 4 is cha
  • Argument number 5 is cha
  • Argument number 6 is cha
And thats da trooth. PK 4!4§*zope/pagetemplate/tests/output/dtml1b.html Test of documentation templates

No arguments were given.

And thats da trooth. PK 4y+)zope/pagetemplate/tests/output/dtml3.htmlTest of documentation templates
The arguments were:
one.
Argument 1 was one
two.
Argument 2 was two
three.
Argument 3 was three
four.
Argument 4 was four
five.
Argument 5 was five
(six-ten)
And I am 100% sure! PK 4$L 7zope/pagetemplate/tests/output/globalsshadowlocals.html
2
1
3
PK 4<~)zope/pagetemplate/tests/output/loop1.html Loop doc

Choose your type:

PK 4{LL4zope/pagetemplate/tests/output/stringexpression.html Hello World! PK 4Qf,zope/pagetemplate/tests/output/teeshop1.html Zope Stuff

apparel mugs toys misc


Description: This is the tee for those who LOVE Zope. Show your heart on your tee.

Price:12.99
Description: This is the tee for Jim Fulton. He's the Zope Pope!

Price:11.99


Copyright © 2000 4AM Productions, Inc.. All rights reserved.
Questions or problems should be directed to the webmaster, 254-412-0846.
PK 4rGZZ,zope/pagetemplate/tests/output/teeshop2.html Zope Stuff

apparel mugs toys misc


Body


Copyright © 2000 4AM Productions, Inc.. All rights reserved.
Questions or problems should be directed to the webmaster, 254-412-0846.
PK 4yۤ .zope/pagetemplate/tests/output/teeshoplaf.html Zope Stuff

apparel mugs toys misc



This is the tee for those who LOVE Zope. Show your heart on your tee.



Copyright © 2000 4AM Productions, Inc.. All rights reserved.
Questions or problems should be directed to the webmaster, 254-412-0846.
PK 4&3zope/pagetemplate/tests/output/template_usage1.html Test of documentation templates test

usage is defined.

This is test.

PK 4 93zope/pagetemplate/tests/output/template_usage2.html Test of documentation templates retest

usage is defined.

This is retest.

PK 4^Ὄ3zope/pagetemplate/tests/output/template_usage3.html Test of documentation templates other

usage is defined.

PK 4 Test of documentation templates PK 4+:+++zope/pagetemplate/tests/testpackage/view.pt PK 4:+""EGG-INFO/requires.txtzope.interface zope.tales zope.talPK 4&EGG-INFO/PKG-INFOMetadata-Version: 1.0 Name: zope.pagetemplate Version: 3.0.0 Summary: Zope Page Templates Home-page: http://svn.zope.org/zope.pagetemplate/tags/3.0.0 Author: Zope Corporation and Contributors Author-email: zope3-dev@zope.org License: ZPL 2.1 Description: UNKNOWN Platform: UNKNOWN PK 4EGG-INFO/not-zip-safePK 4EGG-INFO/namespace_packages.txtzope PK 4EGG-INFO/top_level.txtzope PK 43/, , EGG-INFO/SOURCES.txtCHANGES.txt INSTALL.txt README.txt develop.py setup.cfg setup.cfg.in setup.py test.py src/zope/__init__.py src/zope.pagetemplate.egg-info/PKG-INFO src/zope.pagetemplate.egg-info/SOURCES.txt src/zope.pagetemplate.egg-info/namespace_packages.txt src/zope.pagetemplate.egg-info/not-zip-safe src/zope.pagetemplate.egg-info/requires.txt src/zope.pagetemplate.egg-info/top_level.txt src/zope/pagetemplate/DEPENDENCIES.cfg src/zope/pagetemplate/__init__.py src/zope/pagetemplate/architecture.txt src/zope/pagetemplate/interfaces.py src/zope/pagetemplate/pagetemplate.py src/zope/pagetemplate/pagetemplatefile.py src/zope/pagetemplate/readme.txt src/zope/pagetemplate/tests/__init__.py src/zope/pagetemplate/tests/batch.py src/zope/pagetemplate/tests/test_basictemplate.py src/zope/pagetemplate/tests/test_htmltests.py src/zope/pagetemplate/tests/test_ptfile.py src/zope/pagetemplate/tests/util.py src/zope/pagetemplate/tests/input/__init__.py src/zope/pagetemplate/tests/input/checknotexpression.html src/zope/pagetemplate/tests/input/checknothing.html src/zope/pagetemplate/tests/input/checkpathalt.html src/zope/pagetemplate/tests/input/checkpathnothing.html src/zope/pagetemplate/tests/input/checkwithxmlheader.html src/zope/pagetemplate/tests/input/dtml1.html src/zope/pagetemplate/tests/input/dtml3.html src/zope/pagetemplate/tests/input/globalsshadowlocals.html src/zope/pagetemplate/tests/input/loop1.html src/zope/pagetemplate/tests/input/stringexpression.html src/zope/pagetemplate/tests/input/teeshop1.html src/zope/pagetemplate/tests/input/teeshop2.html src/zope/pagetemplate/tests/input/teeshoplaf.html src/zope/pagetemplate/tests/input/template_usage.html src/zope/pagetemplate/tests/output/__init__.py src/zope/pagetemplate/tests/output/checknotexpression.html src/zope/pagetemplate/tests/output/checknothing.html src/zope/pagetemplate/tests/output/checkpathalt.html src/zope/pagetemplate/tests/output/checkpathnothing.html src/zope/pagetemplate/tests/output/checkwithxmlheader.html src/zope/pagetemplate/tests/output/dtml1a.html src/zope/pagetemplate/tests/output/dtml1b.html src/zope/pagetemplate/tests/output/dtml3.html src/zope/pagetemplate/tests/output/globalsshadowlocals.html src/zope/pagetemplate/tests/output/loop1.html src/zope/pagetemplate/tests/output/stringexpression.html src/zope/pagetemplate/tests/output/teeshop1.html src/zope/pagetemplate/tests/output/teeshop2.html src/zope/pagetemplate/tests/output/teeshoplaf.html src/zope/pagetemplate/tests/output/template_usage1.html src/zope/pagetemplate/tests/output/template_usage2.html src/zope/pagetemplate/tests/output/template_usage3.html src/zope/pagetemplate/tests/output/template_usage4.html src/zope/pagetemplate/tests/testpackage/__init__.py src/zope/pagetemplate/tests/testpackage/content.py src/zope/pagetemplate/tests/testpackage/view.pt workspace/__init__.py workspace/develop.py PK4~7zope/__init__.pyPK 4Mmzope/__init__.pycPK 4ο9 9 %zope/pagetemplate/pagetemplatefile.pyPK 4},!.zope/pagetemplate/pagetemplate.pyPK 40/zope/pagetemplate/__init__.pyPK 4\ ZZ2zope/pagetemplate/interfaces.pyPK 4꫇##"^Azope/pagetemplate/DEPENDENCIES.cfgPK 4}"Azope/pagetemplate/architecture.txtPK 4vǻFzope/pagetemplate/readme.txtPK 4hNLL&Mzope/pagetemplate/pagetemplatefile.pycPK 4[6),),"i^zope/pagetemplate/pagetemplate.pycPK 40q>Ҋzope/pagetemplate/__init__.pycPK 49 ‹zope/pagetemplate/interfaces.pycPK 4XPS5zope/pagetemplate/tests/input/checknotexpression.htmlPK 4˭ bb/pzope/pagetemplate/tests/input/checknothing.htmlPK 4>^/zope/pagetemplate/tests/input/checkpathalt.htmlPK 4G5gg3Ezope/pagetemplate/tests/input/checkpathnothing.htmlPK 4~QQ5zope/pagetemplate/tests/input/checkwithxmlheader.htmlPK 4nS*(zope/pagetemplate/tests/input/dtml1.htmlPK 4vj(zope/pagetemplate/tests/input/dtml3.htmlPK 4.*zope/pagetemplate/tests/output/dtml1a.htmlPK 4!4§*zope/pagetemplate/tests/output/dtml1b.htmlPK 4y+)zope/pagetemplate/tests/output/dtml3.htmlPK 4$L 7Szope/pagetemplate/tests/output/globalsshadowlocals.htmlPK 4<~)@zope/pagetemplate/tests/output/loop1.htmlPK 4{LL4zope/pagetemplate/tests/output/stringexpression.htmlPK 4Qf,Czope/pagetemplate/tests/output/teeshop1.htmlPK 4rGZZ,Zzope/pagetemplate/tests/output/teeshop2.htmlPK 4yۤ .zope/pagetemplate/tests/output/teeshoplaf.htmlPK 4&3zope/pagetemplate/tests/output/template_usage1.htmlPK 4 93'zope/pagetemplate/tests/output/template_usage2.htmlPK 4^Ὄ3Jzope/pagetemplate/tests/output/template_usage3.htmlPK 4