Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

*** empty log message ***

  • Loading branch information...
commit e9877cf3e15bb8ea32580718525705a5a8b21da4 1 parent 580e011
authored November 14, 2003

Showing 1 changed file with 73 additions and 9 deletions. Show diff stats Hide diff stats

  1. 82  TODO
82  TODO
@@ -10,15 +10,17 @@ Cheetah TODO list
10 10
 
11 11
 Requirements for 1.0
12 12
 =========================================================================
13  
-- Python 2.3(b1) causes 16 failures in SyntaxAndOutput.py because the result
14  
-  of boolean expressions is now True and False instead of 1 and 0 (or 'True'
15  
-  and 'False' instead of '1' and '0' when used as placeholders).  The same
16  
-  thing happens with $True and $False.  Do we need a set of parallel tests
17  
-  for Python >= 2.3?  
18  
-- There's a kludge in CheetahWrapper.py to abort with a helpful error message
19  
-  if the user runs 'cheetah test' but doesn't have write permission in the
20  
-  current directory.  The tests should instead put their temporary files
21  
-  under the system tmp directory.
  13
+- "cheetah test" problem: Python 2.3(b1) causes 16 failures in
  14
+  SyntaxAndOutput.py because the result of boolean expressions is now True and
  15
+  False instead of 1 and 0 (or 'True' and 'False' instead of '1' and '0' when
  16
+  used as placeholders).  The same thing happens with $True and $False.  Add a
  17
+  preprocessing step to convert output to '1' and '0' before comparing to the
  18
+  control string.
  19
+
  20
+- "cheetah test" problem: subcommands fail mysteriously on Windows.  Rewrite
  21
+  to avoid using subcommands.  Instead, set sys.argv and call the appropriate
  22
+  main() for each test.
  23
+
22 24
 - Simplify NameMapper.py while maintaining new behavior (ignore dictionary
23 25
   attributes/methods when searching for match of first chunk in searchList
24 26
   lookup).  Modify _namemapper.c to conform.  Make valueForKey error
@@ -27,16 +29,33 @@ Requirements for 1.0
27 29
   the entire unparsed placeholder tag to all NameMapper functions for use in
28 30
   a potential error message, the same way we're passing it to the output
29 31
   filter.  Also consider passing it to the errorCatcher.  (TR)
  32
+
  33
+- One-line #if broken.  It's recognized only if 'else' is present, otherwise
  34
+  it miscompiles as an unclosed and incorrect multi-line #if.  The presence
  35
+  of 'else' should trigger the one-line #if.
  36
+
  37
+- Documentation: document #encoding.  Explain problems with one-line #if and
  38
+  "cheetah test" if they haven't been fixed yet.
  39
+
  40
+- There's a kludge in CheetahWrapper.py to abort with a helpful error message
  41
+  if the user runs 'cheetah test' but doesn't have write permission in the
  42
+  current directory.  The tests should instead put their temporary files
  43
+  under the system tmp directory.
  44
+
30 45
 - update User's Guide about changes to SkeletonPage (no more #settings,
31 46
   etc) (TR)
  47
+
32 48
 - Decide on Cheetah's 1.0 license and update the Users' Guide.  Cheetah
33 49
   will remain open source, and derived works (open or closed source) will be
34 50
   allowed.  The issue is how to make the second part more explicit. (TR)
  51
+
35 52
 - Add an example in the distribution of a simplified SkeletonPage
36 53
   that used #block but does not have fancy esoteric methods like
37 54
   style stuff. (MO)
  55
+
38 56
 - Eliminate obsolete #settings directive from 
39 57
   examples/webware_examples/cheetahSite/siteTemplate.tmpl  (TR)
  58
+
40 59
 - Recognize the exception value as a local variable inside the
41 60
   '#except Exception, ex' clause.  Currently $ex raises NotFound.
42 61
 
@@ -53,6 +72,21 @@ Other TODO Items
53 72
   * If an input file ends in a dot, intelligently add the input extension if
54 73
     not found.
55 74
 
  75
+- ##null: throw this comment away, do not place it in the compiled template
  76
+  module in any manner.  Useful for obsolete text, unfinished text, or notes
  77
+  to yourself.  Do for single- and multi-line comments.
  78
+
  79
+- Split out the code needed to run the generated
  80
+  python into a base class of Template, and derive the compiled Python class
  81
+  from that?  This would allow precompiled templates to be loaded much more
  82
+  quickly.
  83
+
  84
+- A further 'nice to have' optimisation would be to be able to specify at
  85
+  compile time that you are not using filters, Webware transactions etc, and
  86
+  not generate code that uses them.  This would remove the need to import
  87
+  DummyTransaction and the Filters module.  It would also simplify the code
  88
+  and function calls in the compiled template module.
  89
+
56 90
 - Debugging tools.  See section below.
57 91
 
58 92
 - Add --error option to compiled templates and "cheetah fill".  It would
@@ -253,6 +287,36 @@ updates the text field's value if there is an uploaded file, but not if there
253 287
 isn't.  This may be handled by the regular method(s) or may require a separate
254 288
 method.
255 289
 
  290
+RPM Building
  291
+============
  292
+From: John Landahl <john@landahl.org>
  293
+To: cheetahtemplate-discuss@lists.sourceforge.net
  294
+Subject: [Cheetahtemplate-discuss] Building Cheetah RPMs
  295
+Date: Wed, 05 Nov 2003 01:27:24 -0800
  296
+
  297
+If anyone is interested in building Cheetah RPMs, simply add the following
  298
+lines to a file called MANIFEST.in in the Cheetah directory and you'll be
  299
+able to use the "bdist_rpm" option to setup.py (i.e. "python setup.py
  300
+bdist_rpm"):
  301
+
  302
+  include SetupTools.py
  303
+  include SetupConfig.py
  304
+  include bin/*
  305
+
  306
+Also, I've found that using /usr/lib/site-python for add-on Python
  307
+packages is much more convenient than the default of
  308
+/usr/lib/pythonX/site-packages, especially when jumping back and forth
  309
+between 2.2 and 2.3.  If you'd like Cheetah in /usr/lib/site-python,
  310
+createa a setup.cfg with the following contents:
  311
+
  312
+  [install]
  313
+  install-lib = /usr/lib/site-python
  314
+
  315
+Of course if you do have version specific libraries they should stay in
  316
+/usr/lib/pythonX/site-packages, but Cheetah seems happy in both 2.2 and
  317
+2.3 and so is a good candidate for /usr/lib/site-python.
  318
+
  319
+
256 320
 User-defined directives
257 321
 =======================================================================
258 322
 IF we decide to support user-defined directives someday, consider Spyce's

0 notes on commit e9877cf

Please sign in to comment.
Something went wrong with that request. Please try again.