Skip to content
Newer
Older
100644 138 lines (108 sloc) 5.18 KB
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
1 Cheetah TODO list
5610e47 added some instructions
tavis_rudd authored Jun 13, 2001
2 -----------------
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
3
5610e47 added some instructions
tavis_rudd authored Jun 13, 2001
4 * If you are working on a task please put your initials at the end of the
5 description
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
6
9eb346f updated the list
tavis_rudd authored Jul 13, 2001
7 * When a task is completed please remember to note it in the CHANGES file
5610e47 added some instructions
tavis_rudd authored Jun 13, 2001
8
9 Languague Specification
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
10 ================================================================================
d1a5287 added notes and change the version number
tavis_rudd authored Sep 7, 2001
11
73ce5a8 *** empty log message ***
hierro authored Mar 28, 2002
12 - revisit parsed #include directives. Are they necessary at all??
13 (This is a rhetorical question. They are necessary. However, the
14 Users' Guide needs better examples about when and when not to use
15 #include. Also, consider making '#include' do a raw include, and
16 something else do a parsed include ('#include parsed', '#include cheetah'?),
17 so that users get parsing only if they explicitly request it.
578d388 updated
tavis_rudd authored Mar 26, 2002
18
0cbb2a2 updated
tavis_rudd authored Nov 5, 2001
19 - write a formalized grammar for Cheetah in BNF
d1a5287 added notes and change the version number
tavis_rudd authored Sep 7, 2001
20
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
21 Implementation
22 ================================================================================
d1a5287 added notes and change the version number
tavis_rudd authored Sep 7, 2001
23
47eece1 *** empty log message ***
tavis_rudd authored Apr 8, 2002
24 - implement some better error handling for misformed #for, #if, #try directives,
25 etc. At the moment these errors are not caught until Python executes the
26 code.
6f5a89f *** empty log message ***
tavis_rudd authored May 1, 2002
27
28 - create better error message for bad code such as:
29 ##cache
30 This is a cached region. $voom
31 #end cache
32
33 - fix bug in Parser.getDefArgList() that is mucking up lists where the comma has
34 been forgotten:
35
36 > #cache timer='.5m' id='cache1'
37 > This is a cached region. $voom
38 > #end cache
39 >
40 > the error is:
41 >
42 > "/local/opt/Python/lib/python2.2/site-packages/Webware/Cheetah/Compiler.py",
43 > line 102, in genCacheInfoFromArgList
44 > val = self.genTimeInterval(val)
45 > File
46 > "/local/opt/Python/lib/python2.2/site-packages/Webware/Cheetah/Compiler.py",
47 > line 75, in genTimeInterval
48 > interval = float(timeString)*60
49 > ValueError: invalid literal for float(): .5m' id'cache1
50 >
51 >
52 > Running under pdb shows that Parser.getDefArgList() returned:
53 > "30m' id'cache1" .
54
47eece1 *** empty log message ***
tavis_rudd authored Apr 8, 2002
55
0beed83 *** empty log message ***
tavis_rudd authored Apr 30, 2002
56 - finish the #cache directive's varyBy keyword (tied to Tavis' proposed caching
57 framework for Webware)
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
58
f4b3b51 *** empty log message ***
hierro authored Apr 11, 2002
59 - Delete whitespace before comments. If the rest of the line consists
60 of only non-outputting directives and whitespace, delete the line from the
61 output. The only outputting directives I see are #echo, #block and
0beed83 *** empty log message ***
tavis_rudd authored Apr 30, 2002
62 #include. -- MO
63
64 - 'python setup.py uninstall'. This may require hacking an uninstall feature
65 into distutils.
66
f4b3b51 *** empty log message ***
hierro authored Apr 11, 2002
67
a08b622 *** empty log message ***
hierro authored May 14, 2002
68 Cheetah command revamp
69 ===============================================================================
70 - Usage: cheetah COMMAND ARGUMENTS
71 - Commands:
72 cheetah --help | -h
73 cheetah --version
74 cheetah compile | c # .tmpl -> .py
75 cheetah fill | f # .tmpl -> .html (Not implemented yet)
76 cheetah cgi # .tmpl -> CGI script (Not implemented yet)
77
78 - Delay implementation of 'cheetah cgi' until spec is more precise. (In
79 the meantime, you can use 'cheetah compile' and put
80 Content-type: text/html
81 and a blank line at the top of the template definition.)
82
83 - Options common to 'compile', 'fill' and 'cgi':
84 -i EXT # input file extension (-i '' for no ext)
85 -o EXT # output file extension (-o '' for no ext)
86 -R # recurse subdirectories
87 - # (as input filename) input from stdin
88 -p # output to stdout
89
90 - Options for 'fill' (and .py template modules):
91 --env # Push environment onto searchList.
92 --pickle=FILE # Unpickle FILE and push onto searchList.
93 # (--pickle=- => unpickle from stdin)
94
95 - Remove options:
96 cheetah-compile -w # Same as 'cheetah fill' but less powerful.
97 cheetah -c # 'cheetah c' is easier to type.
98 -p (pickle) # Conflicts with -p (to stdout)
99
100 - Input extension, unless overridden by -i, is ".tmpl". If an input file is
101 specified but does not exist, try adding this extension. When recursing,
102 consider only files with this extension.
103
104 - Output extension, unless overridden by -o, is ".py" for 'cheetah compile'
105 and 'cheetah cgi', and ".html" for 'cheetah fill'.
106
107 - Program will examine its own name ( os.path.basename(sys.argv[0]) ), and if
108 it looks like "cheetah-WORD", use WORD as the command instead of sys.argv[1] .
109 Then cheetah-compile can be a symlink or copy of this, and people can create
110 cheetah-fill etc if desired.
111
112
113
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
114 Test Suite
115 ================================================================================
116 - test cases for the SkeletonPage framework
0cbb2a2 updated
tavis_rudd authored Nov 5, 2001
117 - add cases that test the cheetah-compile script
0916737 *** empty log message ***
hierro authored Mar 30, 2002
118 - add cases that test the integration with WebKit. Since these must be called
119 from a running WebKit server, make a servlet that runs the tests and outputs
120 diagnostics to the browser.
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
121
122 Website
123 ================================================================================
8d09b72 *** empty log message ***
tavis_rudd authored Aug 16, 2001
124 - automate the documentation update
32567d8 Initial revision
tavis_rudd authored Jun 13, 2001
125 - See if we can get WebKit working on Sourceforge...
126
127 Examples
128 ================================================================================
129 - create some non-html code generation examples
0cbb2a2 updated
tavis_rudd authored Nov 5, 2001
130 - SQL
131 - LaTeX
132 - form email
6d1d0e1 *** empty log message ***
hierro authored Apr 26, 2002
133 - Template definitions in a database. .py template modules in a
134 database? Caching template classes and/or instances extracted from
135 a database.
136 - Pickled templates?
c7d48b5 further merges of the DEVEL_BRANCH code
tavis_rudd authored Oct 10, 2001
137
Something went wrong with that request. Please try again.