-/*.py[co]
+*.py[co]
/parser.out
/parsetab.py
-/search_tags.py
--- /dev/null
+/search_tags.py
--- /dev/null
+
+from Cheetah.Tools.CGITemplate import CGITemplate
+
+class HTTPResponse(CGITemplate):
+ def cgiHeadersHook(self):
+ return """\
+Content-Type: text/html; charset=koi8-r
+Content-Length: %d
+
+""" % len(str(self))
%.py: %.tmpl
cheetah compile --nobackup $< && compyle $@
-search_tags.py: search_tags.tmpl
+.PHONY: all
+all: html.py redirect.py
--- /dev/null
+
+from Cheetah.Tools.CGITemplate import CGITemplate
+
+class Redirect(CGITemplate):
+ def cgiHeadersHook(self):
+ return """\
+Content-Type: text/html
+Location: %s
+
+""" % self.url
--- /dev/null
+# This is a submodule
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: koi8-r -*-
+
+
+
+
+##################################################
+## DEPENDENCIES
+import sys
+import os
+import os.path
+try:
+ import builtins as builtin
+except ImportError:
+ import __builtin__ as builtin
+from os.path import getmtime, exists
+import time
+import types
+from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion
+from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple
+from Cheetah.Template import Template
+from Cheetah.DummyTransaction import *
+from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList
+from Cheetah.CacheRegion import CacheRegion
+import Cheetah.Filters as Filters
+import Cheetah.ErrorCatchers as ErrorCatchers
+from HTTPResponse import HTTPResponse
+
+##################################################
+## MODULE CONSTANTS
+VFFSL=valueFromFrameOrSearchList
+VFSL=valueFromSearchList
+VFN=valueForName
+currentTime=time.time
+__CHEETAH_version__ = '2.4.4'
+__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 1)
+__CHEETAH_genTime__ = 1400553119.801587
+__CHEETAH_genTimestamp__ = 'Tue May 20 06:31:59 2014'
+__CHEETAH_src__ = 'html.tmpl'
+__CHEETAH_srcLastModified__ = 'Tue May 20 06:31:57 2014'
+__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
+
+if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
+ raise AssertionError(
+ 'This template was compiled with Cheetah version'
+ ' %s. Templates compiled before version %s must be recompiled.'%(
+ __CHEETAH_version__, RequiredCheetahVersion))
+
+##################################################
+## CLASSES
+
+class html(HTTPResponse):
+
+ ##################################################
+ ## CHEETAH GENERATED METHODS
+
+
+ def __init__(self, *args, **KWs):
+
+ super(html, self).__init__(*args, **KWs)
+ if not self._CHEETAH__instanceInitialized:
+ cheetahKWArgs = {}
+ allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split()
+ for k,v in KWs.items():
+ if k in allowedKWs: cheetahKWArgs[k] = v
+ self._initCheetahInstance(**cheetahKWArgs)
+
+
+ def respond(self, trans=None):
+
+
+
+ ## CHEETAH: main method generated for this template
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ write(u'''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- THIS PAGE IS AUTOMATICALLY GENERATED USING CheetahTemplate. -->
+<head>
+<meta HTTP-Equiv="Content-Type" content="text/html">
+<title>''')
+ _v = VFFSL(SL,"title",True) # u'$title' on line 10, col 8
+ if _v is not None: write(_filter(_v, rawExpr=u'$title')) # from line 10, col 8.
+ write(u'''</title>
+<meta name="author" content="Oleg Broytman">
+<link rel="author" href="../../Russian/blog/" title="© 2014 PhiloSoft Design">
+<meta name="copyright" content="© 2014 PhiloSoft Design">
+<link rel="copyright" href="../../Russian/blog/" title="© 2014 PhiloSoft Design">
+<link rev="made" href="mailto:phd@phdru.name">
+<meta name="generator" content="CheetahTemplate">
+<meta name="robots" content="index, follow">
+<link rel="stylesheet" type="text/css" media="screen" href="../../phd.css">
+<link rel="shortcut icon" href="../../favicon.ico">
+<meta name="MSSmartTagsPreventParsing" content="TRUE"> <!-- MUST DIE -->
+</head>
+<body bgcolor="#CCCCCC" text="#000000"
+ link="#0000bb" vlink="#551a8b" alink="#ff0000">
+''')
+ _v = VFFSL(SL,"body",True) # u'$body' on line 24, col 1
+ if _v is not None: write(_filter(_v, rawExpr=u'$body')) # from line 24, col 1.
+ write(u'''
+</body>
+</html>''')
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+ ##################################################
+ ## CHEETAH GENERATED ATTRIBUTES
+
+
+ _CHEETAH__instanceInitialized = False
+
+ _CHEETAH_version = __CHEETAH_version__
+
+ _CHEETAH_versionTuple = __CHEETAH_versionTuple__
+
+ _CHEETAH_genTime = __CHEETAH_genTime__
+
+ _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__
+
+ _CHEETAH_src = __CHEETAH_src__
+
+ _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__
+
+ _mainCheetahMethod_for_html= u'respond'
+
+## END CLASS DEFINITION
+
+if not hasattr(html, '_initCheetahAttributes'):
+ templateAPIClass = getattr(html, '_CHEETAH_templateClass', Template)
+ templateAPIClass._addCheetahPlumbingCodeToClass(html)
+
+
+# CHEETAH was developed by Tavis Rudd and Mike Orr
+# with code, advice and input from many other volunteers.
+# For more information visit http://www.CheetahTemplate.org/
+
+##################################################
+## if run from command line:
+if __name__ == '__main__':
+ from Cheetah.TemplateCmdLineIface import CmdLineIface
+ CmdLineIface(templateObj=html()).run()
+
+
#encoding koi8-r
+#extends HTTPResponse
#implements respond
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- THIS PAGE IS AUTOMATICALLY GENERATED USING CheetahTemplate. -->
<head>
<meta HTTP-Equiv="Content-Type" content="text/html">
-<title>$Title</title>
+<title>$title</title>
<meta name="author" content="Oleg Broytman">
<link rel="author" href="../../Russian/blog/" title="© 2014 PhiloSoft Design">
<meta name="copyright" content="© 2014 PhiloSoft Design">
--- /dev/null
+#!/usr/bin/env python
+
+
+
+
+##################################################
+## DEPENDENCIES
+import sys
+import os
+import os.path
+try:
+ import builtins as builtin
+except ImportError:
+ import __builtin__ as builtin
+from os.path import getmtime, exists
+import time
+import types
+from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion
+from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple
+from Cheetah.Template import Template
+from Cheetah.DummyTransaction import *
+from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList
+from Cheetah.CacheRegion import CacheRegion
+import Cheetah.Filters as Filters
+import Cheetah.ErrorCatchers as ErrorCatchers
+from Redirect import Redirect
+
+##################################################
+## MODULE CONSTANTS
+VFFSL=valueFromFrameOrSearchList
+VFSL=valueFromSearchList
+VFN=valueForName
+currentTime=time.time
+__CHEETAH_version__ = '2.4.4'
+__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 1)
+__CHEETAH_genTime__ = 1400552323.307355
+__CHEETAH_genTimestamp__ = 'Tue May 20 06:18:43 2014'
+__CHEETAH_src__ = 'redirect.tmpl'
+__CHEETAH_srcLastModified__ = 'Thu Feb 3 17:59:20 2005'
+__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
+
+if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
+ raise AssertionError(
+ 'This template was compiled with Cheetah version'
+ ' %s. Templates compiled before version %s must be recompiled.'%(
+ __CHEETAH_version__, RequiredCheetahVersion))
+
+##################################################
+## CLASSES
+
+class redirect(Redirect):
+
+ ##################################################
+ ## CHEETAH GENERATED METHODS
+
+
+ def __init__(self, *args, **KWs):
+
+ super(redirect, self).__init__(*args, **KWs)
+ if not self._CHEETAH__instanceInitialized:
+ cheetahKWArgs = {}
+ allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split()
+ for k,v in KWs.items():
+ if k in allowedKWs: cheetahKWArgs[k] = v
+ self._initCheetahInstance(**cheetahKWArgs)
+
+
+ def respond(self, trans=None):
+
+
+
+ ## CHEETAH: main method generated for this template
+ if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
+ trans = self.transaction # is None unless self.awake() was called
+ if not trans:
+ trans = DummyTransaction()
+ _dummyTrans = True
+ else: _dummyTrans = False
+ write = trans.response().write
+ SL = self._CHEETAH__searchList
+ _filter = self._CHEETAH__currentFilter
+
+ ########################################
+ ## START - generated method body
+
+ write(u'''<H1>Moved</H1>
+
+<p>The document has been moved <a href="''')
+ _v = VFFSL(SL,"url",True) # u'$url' on line 5, col 41
+ if _v is not None: write(_filter(_v, rawExpr=u'$url')) # from line 5, col 41.
+ write(u'''">here</a>.</p>
+''')
+
+ ########################################
+ ## END - generated method body
+
+ return _dummyTrans and trans.response().getvalue() or ""
+
+ ##################################################
+ ## CHEETAH GENERATED ATTRIBUTES
+
+
+ _CHEETAH__instanceInitialized = False
+
+ _CHEETAH_version = __CHEETAH_version__
+
+ _CHEETAH_versionTuple = __CHEETAH_versionTuple__
+
+ _CHEETAH_genTime = __CHEETAH_genTime__
+
+ _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__
+
+ _CHEETAH_src = __CHEETAH_src__
+
+ _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__
+
+ _mainCheetahMethod_for_redirect= u'respond'
+
+## END CLASS DEFINITION
+
+if not hasattr(redirect, '_initCheetahAttributes'):
+ templateAPIClass = getattr(redirect, '_CHEETAH_templateClass', Template)
+ templateAPIClass._addCheetahPlumbingCodeToClass(redirect)
+
+
+# CHEETAH was developed by Tavis Rudd and Mike Orr
+# with code, advice and input from many other volunteers.
+# For more information visit http://www.CheetahTemplate.org/
+
+##################################################
+## if run from command line:
+if __name__ == '__main__':
+ from Cheetah.TemplateCmdLineIface import CmdLineIface
+ CmdLineIface(templateObj=redirect()).run()
+
+
--- /dev/null
+#extends Redirect
+#implements respond
+<H1>Moved</H1>
+
+<p>The document has been moved <a href="$url">here</a>.</p>
--- /dev/null
+
+import sys
+
+def response(title, body, status=None):
+ from .html import html
+ result = html()
+
+ result.title = title
+ result.body = body
+
+ if status:
+ print "Status:", status
+ sys.stdout.write(str(result.cgiHeaders()))
+ sys.stdout.write(str(result))
+
+def redirect(url, parameters=None, status=None):
+ import urllib
+ from .redirect import redirect
+ result = redirect()
+ if parameters:
+ result.url = url + '?' + urllib.urlencode(parameters)
+ else:
+ result.url = url
+ if status:
+ print "Status:", status
+ sys.stdout.write(str(result.cgiHeaders()))
+ sys.stdout.write(str(result))
[ -n "$web" ] && git push web
# Copy search_tags.* with timestamp to avoid rebuilding
-rsync -ahP "$current"/search_tags.py "$current"/search_tags.tmpl . &&
+rsync -ahP "$current"/html/html.py "$current"/html/html.tmpl \
+ "$current"/html/redirect.py "$current"/html/redirect.tmpl html &&
cd "$current" && exec git pull origin