Package gavo :: Package web :: Module constantrender :: Class StaticRenderer
[frames] | no frames]

Class StaticRenderer

source code

                   object --+                        
                            |                        
       nevow.rend.DataFactory --+                    
                                |                    
                   object --+   |                    
                            |   |                    
     nevow.rend.RenderFactory --+                    
                                |                    
                   object --+   |                    
                            |   |                    
      nevow.rend.MacroFactory --+                    
                                |                    
                   object --+   |                    
                            |   |                    
 nevow.rend.ConfigurableMixin --+                    
                                |                    
              nevow.rend.Fragment --+                
                                    |                
   nevow.rend.ConfigurableFactory --+                
                                    |                
nevow.rend.FreeformChildMixin --+   |                
                                |   |                
      nevow.rend.ChildLookupMixin --+                
                                    |                
                      nevow.rend.Page --+            
                                        |            
                       object --+       |            
                                |       |            
           common.CommonRenderers --+   |            
                                    |   |            
                grend.GavoRenderMixin --+            
                                        |            
                           grend.GavoPage --+        
                                            |        
                      grend.ResourceBasedPage --+    
                                                |    
                           grend.ServiceBasedPage --+
                                                    |
                                                   StaticRenderer

A renderer that just hands through files.

The standard operation here is to set a staticData property pointing to a resdir-relative directory used to serve files for. Indices for directories are created.

You can define a root resource by giving an indexFile property on the service. Note in particular that you can use an index file with an extension of shtml. This lets you use nevow templates, but since metadata will be taken from the global context, that's probably not terribly useful. You are probably looking for the fixed renderer if you find yourself needing this.

Instance Methods
 
__init__(self, ctx, service)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
renderHTTP(self, ctx)
The resource itself is the indexFile or the directory listing.
source code
 
locateChild(self, ctx, segments)
Locate a child page of this one.
source code

Inherited from grend.ServiceBasedPage: __provides__, child, data_serviceURL, processData, renderer, runService, runServiceWithFormalData

Inherited from grend.ResourceBasedPage: data_rdId

Inherited from nevow.rend.Page: child_, flattenFactory, onPostFailure, onPostSuccess, rememberStuff, renderString, renderSynchronously, webFormPost

Inherited from nevow.rend.Fragment: get, remember, rend

Inherited from nevow.rend.DataFactory: __providedBy__

Inherited from nevow.rend.RenderFactory: render_data, render_mapping, render_sequence, render_string, render_xml

Inherited from nevow.rend.MacroFactory: macro

Inherited from nevow.rend.ConfigurableMixin: getBinding, getBindingNames, getDefault, postForm

Inherited from grend.GavoRenderMixin: data_meta, data_rd, render_authinfo, render_datameta, render_explodableMeta, render_ifadmin, render_ifdata, render_ifmeta, render_ifnodata, render_ifnoslot, render_ifownmeta, render_ifslot, render_intro, render_meta, render_metahtml, render_prependsite, render_withsidebar

Inherited from common.CommonRenderers: render_commonhead, render_getconfig, render_rootlink, render_unicode, render_urlescape

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Inherited from nevow.rend.ConfigurableFactory: configurable_, configurable_original, locateConfigurable

Inherited from nevow.rend.ChildLookupMixin: childFactory, putChild

Inherited from nevow.rend.FreeformChildMixin: child_freeform_hand

Class Methods
 
isBrowseable(self, service)
returns True if this renderer applied to service is usable using a plain web browser.
source code
 
isCacheable(cls, segments, request)
should return true if the content rendered will only change when the associated RD changes.
source code

Inherited from grend.ResourceBasedPage: makeAccessURL

Class Variables
  name = 'static'
hash(x)

Inherited from grend.ServiceBasedPage: __implemented__, checkedRenderer, openRenderer

Inherited from grend.ResourceBasedPage: parameterStyle, preferredMethod, resultType, urlUse

Inherited from nevow.rend.Page: addSlash, afterRender, beforeRender, buffered

Inherited from nevow.rend.Fragment: docFactory, original

Inherited from grend.GavoRenderMixin: macroPackage

Inherited from nevow.rend.ChildLookupMixin: children

Properties

Inherited from object: __class__

Method Details

__init__(self, ctx, service)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

isBrowseable(self, service)
Class Method

source code 
returns True if this renderer applied to service is usable using a plain web browser.
Overrides: grend.ResourceBasedPage.isBrowseable
(inherited documentation)

isCacheable(cls, segments, request)
Class Method

source code 

should return true if the content rendered will only change when the associated RD changes.

request is a nevow request object. web.root.ArchiveService already makes sure that you only see GET request without arguments and without a user, so you do not need to check this.

Overrides: grend.ResourceBasedPage.isCacheable
(inherited documentation)

renderHTTP(self, ctx)

source code 
The resource itself is the indexFile or the directory listing.
Overrides: nevow.rend.Page.renderHTTP

locateChild(self, ctx, segments)

source code 

Locate a child page of this one. ctx is a nevow.context.PageContext representing the parent Page, and segments is a tuple of each element in the URI. An tuple (page, segments) should be returned, where page is an instance of nevow.rend.Page and segments a tuple representing the remaining segments of the URI. If the child is not found, return NotFound instead.

locateChild is designed to be easily overridden to perform fancy lookup tricks. However, the default locateChild is useful, and looks for children in three places, in this order:

  • in a dictionary, self.children
  • a member of self named child_<childname>. This can be either an attribute or a method. If an attribute, it should be an object which can be adapted to IResource. If a method, it should take the context and return an object which can be adapted to IResource.
  • by calling self.childFactory(ctx, name). Name is a single string instead of a tuple of strings. This should return an object that can be adapted to IResource.
Overrides: nevow.rend.FreeformChildMixin.locateChild