On Thu, Oct 10, 2002 at 09:27:20AM -0400, Joel Shprentz wrote:
> I hope that plain and html are class names, not keywords.
In the current implementation those names are part of the syntax not
identifiers.
> Then we would not be limited to three types of functions. For
> example, one could imagine an sql class that converts strings to the
> appropriate form for SQL queries.
>
> def bar [sql] (lastName):
> "SELECT * FROM staff\n"
> "WHERE last = "
> lastName
How imaginary is this use case? Would you or anyone you know use it? I
would think it would be much better to use '?' parameters. Eg.
cursor.execute("SELECT * FROM staff "
"WHERE last = ?", lastName)
> The PTL documentation says, "the value is converted to a string using str()
> and appended to the template's return value. There's a single exception to
> this rule: None is the only value that's ever ignored, adding nothing to
> the output."
>
> I haven't looked under the hood to see where this is implemented. Is it
> specific to the current string output, or is it generic to all PTL template
> processing?
>
> In the sql example, it would be better to convert None to SQL's NULL. (But
> what about function calls that return None by default? Hmmm.) Also, sql
> could convert date class values to some date format recognized by SQL.
I'm not convinced that PTL is the right tool for that. You could, for
example, right a cursor subclass that turned None into NULL. I think
some or all Python DB interfaces do that already (it's been I while
since I used that stuff, thank god).
Neil