Loading ...
Sorry, an error occurred while loading the content.

Re: [Cheetahtemplate-discuss] Cheetah and Python 2.4

Expand Messages
  • Leith Parkin
    Hi All, Ive had a chance to look at this system and added some debug code to Compiler.py at about line 1274 - some context below.. if self._templateObj: mod =
    Message 1 of 6 , Sep 4, 2005
    • 0 Attachment
      Hi All,

      Ive had a chance to look at this system and added some debug code to
      Compiler.py at about line 1274 - some context below..

      if self._templateObj:
      mod =
      self._templateObj._importAsDummyModule('\n'.join(self._importStatements))
      class newClass:
      pass
      newClass.__name__ = self._mainClassName
      __bases__ = (getattr(mod, self._baseClass), )

      print "DEBUG: ", __bases__
      print "DEBUG: ", type(__bases__[0])

      newClass.__bases__ = __bases__
      self._templateObj.__class__ = newClass
      # must initialize it so instance attributes are accessible
      newClass.__init__(self._templateObj,
      _globalSetVars=self._templateObj._globalSetVars,
      _preBuiltSearchList=self._templateObj._searchList)


      When run from the command line, __bases__ is a tuple and the first
      element is of type classobj

      eg.
      Python 2.4.1 (#2, Aug 17 2005, 22:07:29)
      [GCC 3.3.3 [FreeBSD] 20031106] on freebsd5
      Type "help", "copyright", "credits" or "license" for more information.
      >>> from Cheetah.Template import Template
      >>> T = Template(file='../Templates/view.tmpl')
      DEBUG: (<class BaseTemplate.BaseTemplate at 0x830644c>,)
      DEBUG: <type 'classobj'>


      When run from within webware virtually the exact same code results in
      debug output of
      DEBUG: (<class 'BaseTemplate.BaseTemplate'>,)
      DEBUG: <type 'type'>


      Im not sure why this is happening? Prehaps someone with a better
      understanding of python classes underworkings and webware can shed
      some light?

      Regards,

      Leith

      >
      > On 8/25/05, Tavis Rudd <tavis@...> wrote:
      > > what version of Cheetah were the templates compiled with? Have you tried
      > > recompiling them?
      > >
      > > On Tuesday 23 August 2005 17:12, Leith Parkin wrote:
      > > > Hi,
      > > >
      > > > I recently upgraded to python2.4 and no longer seem to be able to use
      > > > derived templates.
      > > >
      > > > The system im working on uses Webware and each servlet loads its view
      > > > template which extends and implements functions from a compiled base
      > > > template.
      > > >
      > > > Eg.
      > > > from Cheetah.Template import Template
      > > > T = Template(file='view.tmpl')
      > > > ... do stuff ...
      > > > return T
      > > >
      > > > then the webware base class (derived from Page) fills in its stuff and
      > > > calls T.respond(transaction)
      > > >
      > > > The stange thing is they work fine when loaded from the interepter.
      > > >
      > > > When run from within the webware it raises an exception
      > > >
      > > > File "/usr/local/lib/python2.4/site-packages/Cheetah/Compiler.py",
      > > > line 1274, in setBaseClass [edit]
      > > > newClass.__bases__ = __bases__
      > > > TypeError: __bases__ items must be classes
      > > >
      > > > Could someone please provide some insight into why this is happening
      > > > and how to fix it! more details can be provided if required, using the
      > > > latest Cheetah
      > > >
      > > > CHEETAH 0.9.18 (output of Command-Line Tool)
      > > > Python 2.4.1 (#2, Aug 17 2005, 22:07:29)
      > > >
      > > > This system used to work fine under 2.3!
      > > >
      > > > Regards,
      > > >
      > > > Leith
      > > >
      > > >
      > > > -------------------------------------------------------
      > > > SF.Net email is Sponsored by the Better Software Conference & EXPO
      > > > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
      > > > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
      > > > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
      > > > _______________________________________________
      > > > Cheetahtemplate-discuss mailing list
      > > > Cheetahtemplate-discuss@...
      > > > https://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss
      > >
      >


      -------------------------------------------------------
      SF.Net email is Sponsored by the Better Software Conference & EXPO
      September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
      Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
      Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
      _______________________________________________
      Cheetahtemplate-discuss mailing list
      Cheetahtemplate-discuss@...
      https://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss
    Your message has been successfully submitted and would be delivered to recipients shortly.