Package gavo :: Package web :: Module qprenderer :: Class QPRenderer
[frames] | no frames]

Class QPRenderer

source code

                                       object --+    
                                                |    
                      grend.HTMLResultRenderMixin --+
                                                    |
                                       object --+   |
                                                |   |
                        grend.CustomTemplateMixin --+
                                                    |
                   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 --+
                                                    |
                                                   QPRenderer

The Query Path renderer extracts a query argument from the query path.

Basically, whatever segments are left after the path to the renderer are taken and fed into the service. The service must cooperate by setting a queryField property which is the key the parameter is assigned to.

QPRenderers cannot do forms, of course, but they can nicely share a service with the form renderer.

To adjust the results' appreance, you can override resultline (for when there's just one result row) and resulttable (for when there is more than one result row) templates.

Instance Methods
 
renderHTTP(self, ctx) source code
 
locateChild(self, ctx, segments)
Locate a child page of this one.
source code
 
getTemplate(self, resultFormat) source code

Inherited from grend.HTMLResultRenderMixin: data_queryseq, data_result, render_flotplot, render_iflinkable, render_ifnoresult, render_ifresult, render_param, render_parpair, render_resultline, render_resulttable, render_servicestyle

Inherited from grend.CustomTemplateMixin: getDocFactory

Inherited from grend.ServiceBasedPage: __init__, __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
 
isCacheable(self, segments, request)
should return true if the content rendered will only change when the associated RD changes.
source code

Inherited from grend.ResourceBasedPage: isBrowseable, makeAccessURL

Class Variables
  name = 'qp'
hash(x)
  queryValue = None
hash(x)

Inherited from grend.HTMLResultRenderMixin: result

Inherited from grend.CustomTemplateMixin: customTemplate

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: original

Inherited from grend.GavoRenderMixin: macroPackage

Inherited from nevow.rend.ChildLookupMixin: children

Properties

Inherited from grend.CustomTemplateMixin: docFactory

Inherited from object: __class__

Method Details

isCacheable(self, 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 
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