Compile Cheetah Template on Windows
brianrpsgt1
brianlong at cox.net
Wed Nov 28 23:33:53 EST 2007
Tim, thank you very much for the reply. The 'cheetah' function is now
working!
I am still having a problem creating the file. I continually get
errors. I am sure that it is something very simple.
Below is the code, please guide me in the right direction.... ::
import psycopg2, psycopg2.extensions
from Cheetah.Template import Template
import operator
import os
from SafetyNet import SafetyNet
filename = open("C:\Python25\Lib\site-packages\PSN
\InstalledDevices.html")
db = psycopg2.connect("dbname='XXX' user='XXX' host='XXX'")
pocmonitors_cur = db.cursor()
pocmonitors_cur.execute("""SELECT pocmonitor_name, pocmonitor_sn FROM
pocmonitor ORDER BY pocmonitor_name""")
pocmonitors = []
for i in range(pocmonitors_cur.rowcount) :
pocmonitors.append(pocmonitors_cur.fetchone())
pocmonitors_cur.close()
db.close()
total_results = len(pocmonitors)
nameSpace = {'title': 'First Cheetah Example', 'pocmonitors':
pocmonitors, 'total_results': total_results}
output = Template(file='C:\Python25\Lib\site-packages\PSN
\SafetyNet.tmpl', searchList=[nameSpace])
print output
filename.write(output)
Thanks for the help!
B
Tim Roberts wrote:
> brianrpsgt1 <brianlong at cox.net> wrote:
> >
> >I have been able to successful pull info from a MySQL DB, get the
> >results and output them in an HTML format using Cheetah to the screen
> >using IDLE. I am doing this on a Windows Laptop, running WinXP,
> >Python 2.5 and the latest version of Cheetah.
> >
> >I have two questions:
> >1. How and where do you compile Cheetah templates in Windows? The
> >command in the docs is cheetah compile a, however, I believe that this
> >is for Linux. This does nothing in a DOS Prompt. Please provide the
> >info for this command in Windows.
>
> The Cheetah installation should have created scripts called "cheetah" and
> "cheetah-compile" in your Python25\Scripts directory. The issue you have
> is that they aren't on your path.
>
> One answer is to copy Python25\Scripts\cheetah to \Windows\cheetah.py and
> Python25\Scripts\cheetah-compile to \Windows\cheetah-compile.py. Then you
> can type "cheetah.py compile xxx" or "cheetah-compile.py xxx".
>
> However, you don't have to compile them in advance. You can do "from
> Cheetah.Template import Template" and compile them on the fly, with
> tmpl = Template( file='page.tmpl' )
>
> >2. How do I output the HTML to a file? I tried the following:
> >
> >FILE = open(filename, "wt")
> >FILE.writelines(output)
> >FILE.close()
> >
> >I get an error though that states that writelines() requires an
> >interable argument
>
> Just use FILE.write( output ).
> --
> Tim Roberts, timr at probo.com
> Providenza & Boekelheide, Inc.
More information about the Python-list
mailing list