|
def | content (self, **args) |
|
def | default (self, run) |
|
def | configure (self) |
|
def | pageName (self) |
|
def | addPage (self, name, page, **attrs) |
|
def | addLink (self, name, alias, **attrs) |
|
def | addToPageHeader (self, snippet) |
|
def | index (self, **args) |
|
def | configureLinks (self) |
|
def | override (self) |
|
def | header (self, **args) |
|
def | navigation (self, **args) |
|
def | footer (self, **args) |
|
Definition at line 22 of file PlotServer.py.
◆ addLink()
def WebPage.WebPage.addLink |
( |
|
self, |
|
|
|
name, |
|
|
|
alias, |
|
|
** |
attrs |
|
) |
| |
|
inherited |
Add a new link to the page tree. Links share page objects with
other pages through aliasing. This allows using different links
with different queries to the same page as if they were separate
pages. For links, highlighting of the current page is disabled
(if enabled, all links leading to the same page would be
highlighted).
Definition at line 309 of file WebPage.py.
309 def addLink(self, name, alias, **attrs):
310 """Add a new link to the page tree. Links share page objects with
311 other pages through aliasing. This allows using different links
312 with different queries to the same page as if they were separate
313 pages. For links, highlighting of the current page is disabled
314 (if enabled, all links leading to the same page would be
316 self.globalConfig.pageList.append(name)
317 self.globalConfig.pageAttributes[name] = dict(attrs)
318 self.globalConfig.pageAttributes[name][
'alias'] = alias
◆ addPage()
def WebPage.WebPage.addPage |
( |
|
self, |
|
|
|
name, |
|
|
|
page, |
|
|
** |
attrs |
|
) |
| |
|
inherited |
Add a new web page to the page tree. All pages added via addPage
share the same GlobalConfiguration object.
Definition at line 300 of file WebPage.py.
300 def addPage(self, name, page, **attrs):
301 """Add a new web page to the page tree. All pages added via addPage
302 share the same GlobalConfiguration object."""
303 page.globalConfig = self.globalConfig
304 page.pageConfig[
'pageName'] = name
305 self.globalConfig.pageList.append(name)
306 self.globalConfig.pageAttributes[name] = dict(attrs)
307 setattr(self,name,page)
◆ addToPageHeader()
def WebPage.WebPage.addToPageHeader |
( |
|
self, |
|
|
|
snippet |
|
) |
| |
|
inherited |
Add a snippet of code to the page header. Use this e.g. to include JavaScript libraries.
Definition at line 320 of file WebPage.py.
320 def addToPageHeader(self, snippet):
321 """Add a snippet of code to the page header. Use this e.g. to include JavaScript libraries."""
322 self.pageConfig[
'pageHeaderSnippets'] += snippet
◆ configure()
def BeamSpotWebPage.BeamSpotWebPage.configure |
( |
|
self | ) |
|
|
inherited |
Final configuration of web application after all data is initialized.
Reimplemented from WebPage.WebPage.
Definition at line 49 of file BeamSpotWebPage.py.
50 self.pageConfig[
'cssName'] = self.globalConfig.baseUrl+
'/css/beamspot.css'
51 if not self.pageConfig.
get(
'pageTitle',
''):
52 self.pageConfig[
'pageTitle'] =
'ATLAS Beam Spot Web Page'
53 self.pageConfig[
'header'] = header
54 self.pageConfig[
'footer'] = footer
55 WebPage.configure(self)
◆ configureLinks()
def WebPage.WebPage.configureLinks |
( |
|
self | ) |
|
|
inherited |
Based on configuration data, for each web page create two link entries in pageConfig:
The first entry has the form url_PAGENAME and contains the complete URL to link to
a page. The second entry is named href_PAGENAME and contains style information and a
href= prefix with proper quotation marks in addition to the URL. These link entries
should be used to generate links in HTML pages with snippets like <a %(href_PAGENAME)s>
or <a href="%(url_PAGENAME)>. The link entries can only be generated once all
configuration data is available, ie configureLinks must be called from configure
and not from __init__.
Definition at line 353 of file WebPage.py.
353 def configureLinks(self):
354 """Based on configuration data, for each web page create two link entries in pageConfig:
355 The first entry has the form url_PAGENAME and contains the complete URL to link to
356 a page. The second entry is named href_PAGENAME and contains style information and a
357 href= prefix with proper quotation marks in addition to the URL. These link entries
358 should be used to generate links in HTML pages with snippets like <a %(href_PAGENAME)s>
359 or <a href="%(url_PAGENAME)>. The link entries can only be generated once all
360 configuration data is available, ie configureLinks must be called from configure
361 and not from __init__."""
362 for p
in self.globalConfig.pageList:
363 page = self.globalConfig.pageAttributes[p].
get(
'alias',p)
364 query = self.globalConfig.pageAttributes[p].
get(
'query',
'')
365 style = self.globalConfig.pageAttributes[p].
get(
'style',
None)
366 self.pageConfig[
'url_'+p] =
'%s/%s/%s' % (self.globalConfig.baseUrl,page,query)
367 if p==self.pageName():
368 self.pageConfig[
'href_'+p] =
'href="%s/%s/%s" class="%s"' % (self.globalConfig.baseUrl,page,query,self.pageConfig[
'css_currentLink'])
371 self.pageConfig[
'href_'+p] =
'href="%s/%s/%s" class="%s"' % (self.globalConfig.baseUrl,page,query,style)
373 self.pageConfig[
'href_'+p] =
'href="%s/%s/%s"' % (self.globalConfig.baseUrl,page,query)
◆ content()
def PlotServer.PlotServer.content |
( |
|
self, |
|
|
** |
args |
|
) |
| |
When called without a run number argument in the URL, generate a web page with an error message
Reimplemented from WebPage.WebPage.
Definition at line 24 of file PlotServer.py.
25 """When called without a run number argument in the URL, generate a web page with an error message"""
26 return errorMsg %
'ERROR: You must specify a run number in the URL (e.g. http://..../plots/160879)'
◆ default()
def PlotServer.PlotServer.default |
( |
|
self, |
|
|
|
run |
|
) |
| |
Return a summary gif image for the run specified in the URL. If no such image exists (or the run
doesn't exist), currently returns a zero-length image.
Definition at line 28 of file PlotServer.py.
29 """Return a summary gif image for the run specified in the URL. If no such image exists (or the run
30 doesn't exist), currently returns a zero-length image."""
31 cherrypy.response.headers[
'Content-Type'] =
"image/gif"
33 with TaskManager(self.globalConfig[
'taskDb'])
as taskman:
34 t = taskman.taskIterDict(
'*',[
'where RUNNR =',DbParam(
int(run)),
"and TASKNAME like 'DB_BEAMSPOT%%' order by UPDATED desc"]).
next()
35 wantedFile =
'PlotBeamSpot.gif'
36 for f
in t[
'RESULTFILES'].
split():
37 if f[-len(wantedFile):] == wantedFile:
break
38 path =
'/'.
join([self.globalConfig[
'jobDir'],t[
'DSNAME'],t[
'TASKNAME'],f])
◆ footer()
def WebPage.WebPage.footer |
( |
|
self, |
|
|
** |
args |
|
) |
| |
|
inherited |
Generate the footer. Default value comes from self.pageConfig['footer'].
Definition at line 395 of file WebPage.py.
396 """Generate the footer. Default value comes from self.pageConfig['footer']."""
397 return self.pageConfig[
'footer'] % self.pageConfig
◆ header()
def WebPage.WebPage.header |
( |
|
self, |
|
|
** |
args |
|
) |
| |
|
inherited |
Generate the page header. Default value comes from self.pageConfig['header'].
Definition at line 383 of file WebPage.py.
384 """Generate the page header. Default value comes from self.pageConfig['header']."""
385 return self.pageConfig[
'header'] % self.pageConfig
◆ index()
def WebPage.WebPage.index |
( |
|
self, |
|
|
** |
args |
|
) |
| |
|
inherited |
Return the complete page.
Definition at line 324 of file WebPage.py.
324 def index(self, **args):
325 """Return the complete page."""
326 if not self.isConfigured:
330 self.pageConfig[
'timeStamp'] = time.strftime(
'%a %b %d %X %Z %Y')
331 contents = self.content(**args)
333 s = startPage % self.pageConfig
334 s = s +
htmlDiv(
'header', self.header(**args),
335 keepEmptyDiv=self.pageConfig[
'keepEmptyHeader'])
336 s = s +
htmlDiv(
'navigation', self.navigation(**args),
337 keepEmptyDiv=self.pageConfig[
'keepEmptyNavigation'])
338 s = s +
htmlDiv(
'content', contents,
339 keepEmptyDiv=self.pageConfig[
'keepEmptyContent'])
340 s = s +
htmlDiv(
'footer', self.footer(**args),
341 keepEmptyDiv=self.pageConfig[
'keepEmptyFooter'])
◆ navigation()
def WebPage.WebPage.navigation |
( |
|
self, |
|
|
** |
args |
|
) |
| |
|
inherited |
Generate the navigation bar. Default value comes from self.pageConfig['navigation'].
Definition at line 387 of file WebPage.py.
387 def navigation(self, **args):
388 """Generate the navigation bar. Default value comes from self.pageConfig['navigation']."""
389 return self.pageConfig[
'navigation'] % self.pageConfig
◆ override()
def WebPage.WebPage.override |
( |
|
self | ) |
|
|
inherited |
Override provides a hook where code to generate or redirect to an alternative
page can be placed by derived classes. If not override of the normal page is
desired, override should return None. Otherwise it should either raise an
appropriate exception or return a string containing the complete alternate page
to display.
Definition at line 375 of file WebPage.py.
376 """Override provides a hook where code to generate or redirect to an alternative
377 page can be placed by derived classes. If not override of the normal page is
378 desired, override should return None. Otherwise it should either raise an
379 appropriate exception or return a string containing the complete alternate page
◆ pageName()
def WebPage.WebPage.pageName |
( |
|
self | ) |
|
|
inherited |
Short cut to retrieve the name (the last element in the URL)
of the current page. This works only if the page has been
added into the page tree using addPage.
Definition at line 294 of file WebPage.py.
295 """Short cut to retrieve the name (the last element in the URL)
296 of the current page. This works only if the page has been
297 added into the page tree using addPage."""
298 return self.pageConfig[
'pageName']
◆ exposed
PlotServer.PlotServer.exposed |
|
static |
◆ globalConfig
WebPage.WebPage.globalConfig |
|
inherited |
◆ isConfigured
WebPage.WebPage.isConfigured |
|
inherited |
◆ pageConfig
WebPage.WebPage.pageConfig |
|
inherited |
The documentation for this class was generated from the following file:
bool configure(asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > &tool, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronEffToolsHandles, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronSFToolsHandles, ToolHandleArray< CP::IMuonTriggerScaleFactors > &muonToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonEffToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonSFToolsHandles, const std::string &triggers, const std::map< std::string, std::string > &legsPerTool, unsigned long nToys, bool debug)
def htmlDiv(id, contents='', attr='', keepEmptyDiv=True)