#2457: [PATCH] Make override_template work for all content types
-------------------------+--------------------------------------------------
 Reporter:  lento        |       Owner:                                 
     Type:  enhancement  |      Status:  new                            
 Priority:  normal       |   Milestone:  __unclassified__               
Component:  TurboGears   |     Version:  trunk                          
 Severity:  normal       |    Keywords:  override_template, content_type
-------------------------+--------------------------------------------------
 At the moment override_template only works for the "text/html" engine,
 this small patch allows it to work for other content types.

 As an example I use override_template to have a single controller serving
 javascripts generated at runtime from templates and return the result with
 a content_type of "text/javascript".

 {{{
     @expose(content_type='text/javascript')
     def parsedjs(self, script):
         """
         Render the required javascript from a template of the same name
 (but
         with a .mak extension) as found in spam/templates/parsedjs/

         This is needed for javascripts that use config variables from spam
 or
         other variable data.
         """
         scriptname = os.path.splitext(script)[0]
         templatename = 'spam.templates.parsedjs.%s' % scriptname

         if config.get('use_dotted_templatenames', False):
             template = G.dotted_filename_finder.get_dotted_filename(
                                     templatename,
 template_extension='.mak')
             if not os.path.exists(template):
                 raise HTTPNotFound

         override_template(self.parsedjs, 'mako:%s' % templatename)

         return dict()
 }}}

-- 
Ticket URL: <http://trac.turbogears.org/ticket/2457>
TurboGears <http://www.turbogears.org/>
TurboGears front-to-back web development

-- 
You received this message because you are subscribed to the Google
Groups "TurboGears Tickets" group.
This group is read-only. No posting by normal members allowed.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/turbogears-tickets?hl=en?hl=en

Reply via email to