CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions | Variables
tablePrinter Namespace Reference

Functions

def indent
 

Variables

string data
 
int headerwidth = 46
 
tuple labels = ('First Name','Last Name','Age','Position')
 
list lumidata
 
list lumifooter = [('%-*s'%(24,'189'),'%-*s'%(10,'17.89'),'%-*s'%(10,'16.1'),'%-*s'%(20,'3.47'))]
 
list lumiheader = [('%-*s'%(30,'Lumi Sections'),'%-*s'%(46,'Luminosity'))]
 
list rows = [row.strip().split(',') for row in data.splitlines()]
 
int width = 10
 

Function Documentation

def tablePrinter.indent (   rows,
  hasHeader = False,
  headerChar = '-',
  delim = ' | ',
  justify = 'center',
  separateRows = False,
  prefix = '',
  postfix = '',
  wrapfunc = lambda x:x 
)
Indents a table by column.
- rows: A sequence of sequences of items, one sequence per row.
- hadHeader: True if the first row consists of the column's names.
- headerChar: Character to be used for the row separator line
(if hasHeader==True or separateRows==True).
- delim: The column delimiter.
- justify: Determines how are data justified in their column.
Valid values are 'left','right','center'.
- separateRows: True if rows are to be separated by a line of 'headerChar's.
- prefix: A string prepended to each printed row.
- postfix: A string appended to each printed row.
- wrapfunc: A function f(text) for wrapping text; each element in the table is first wrapped by this function.

Definition at line 8 of file tablePrinter.py.

References Association.map, max(), and split.

8 
9  separateRows=False,prefix='',postfix='',wrapfunc=lambda x:x):
10  """
11  Indents a table by column.
12  - rows: A sequence of sequences of items, one sequence per row.
13  - hadHeader: True if the first row consists of the column's names.
14  - headerChar: Character to be used for the row separator line
15  (if hasHeader==True or separateRows==True).
16  - delim: The column delimiter.
17  - justify: Determines how are data justified in their column.
18  Valid values are 'left','right','center'.
19  - separateRows: True if rows are to be separated by a line of 'headerChar's.
20  - prefix: A string prepended to each printed row.
21  - postfix: A string appended to each printed row.
22  - wrapfunc: A function f(text) for wrapping text; each element in the table is first wrapped by this function.
23  """
24  #nested function
25  #closure for breaking logical rows to physical, using wrapfunc
26  def rowWrapper(row):
27  newRows=[wrapfunc(item).split('\n') for item in row]
28  #print 'newRows: ',newRows
29  #print 'map result: ',map(None,*newRows)
30  #print 'rowwrapped: ',[[substr or '' for substr in item] for item in map(None,*newRows)]
31  return [[substr or '' for substr in item] for item in map(None,*newRows)]
32  # break each logical row into one or more physical ones
33  logicalRows = [rowWrapper(row) for row in rows]
34  # columns of physical rows
35  columns = map(None,*reduce(operator.add,logicalRows))
36  # get the maximum of each column by the string length of its items
37  maxWidths = [max([len(str(item)) for item in column]) for column in columns]
38  rowSeparator = headerChar * (len(prefix) + len(postfix) + sum(maxWidths) + len(delim)*(len(maxWidths)-1))
39  # select the appropriate justify method
40  justify = {'center':str.center,'right':str.rjust,'left':str.ljust}[justify.lower()]
41  output=cStringIO.StringIO()
42  if separateRows: print >> output,rowSeparator
43  for physicalRows in logicalRows:
44  for row in physicalRows:
45  print >> output, prefix+delim.join([justify(str(item),width) for (item,width) in zip(row,maxWidths)])+postfix
46  if separateRows or hasHeader: print >> output, rowSeparator; hasHeader=False
47  return output.getvalue()
dictionary map
Definition: Association.py:196
const T & max(const T &a, const T &b)
double split
Definition: MVATrainer.cc:139

Variable Documentation

string tablePrinter.data
Initial value:
1 = """John,Smith,24,Software Engineer
2  Mary,Brohowski,23,Sales Manager
3  Aristidis,Papageorgopoulos,28,Senior Reseacher"""

Definition at line 51 of file tablePrinter.py.

int tablePrinter.headerwidth = 46

Definition at line 71 of file tablePrinter.py.

tuple tablePrinter.labels = ('First Name','Last Name','Age','Position')

Definition at line 50 of file tablePrinter.py.

list tablePrinter.lumidata
Initial value:
1 = [\
2  ('%-*s'%(8,'run'),'%-*s'%(8,'first'),'%-*s'%(8,'last'),'%-*s'%(10,'delivered'),'%-*s'%(10,'recorded'),'%-*s'%(20,'recorded\nmypathdfdafddafd')),\
3  ['%d'%(132440),'%d'%(23),'%d'%(99),'%.2f'%(2.345),'%.2f'%(1.23),'%.2f'%(0.5678)],\
4  ['%d'%(132442),'%d'%(1),'%d'%(20),'%.2f'%(2.345),'%.2f'%(1.23),'%.2f'%(0.5678)],\
5  ['','%d'%(27),'%d'%(43),'%.2f'%(2.345),'%.2f'%(1.23),'%.2f'%(0.5678)]\
6  ]

Definition at line 64 of file tablePrinter.py.

list tablePrinter.lumifooter = [('%-*s'%(24,'189'),'%-*s'%(10,'17.89'),'%-*s'%(10,'16.1'),'%-*s'%(20,'3.47'))]

Definition at line 73 of file tablePrinter.py.

list tablePrinter.lumiheader = [('%-*s'%(30,'Lumi Sections'),'%-*s'%(46,'Luminosity'))]

Definition at line 70 of file tablePrinter.py.

Referenced by lumi::Lumi2DB.retrieveData().

list tablePrinter.rows = [row.strip().split(',') for row in data.splitlines()]

Definition at line 54 of file tablePrinter.py.

Referenced by ME_MAP.divide_canvas(), SiPixelRecHitsValid.fillBarrel(), SiPixelRecHitsValid.fillForward(), SiPixelActionExecutor.fillSummary(), pos::PixelCalibConfiguration.PixelCalibConfiguration(), MuonResidualsFitter.read(), SiPixelCalibConfiguration.SiPixelCalibConfiguration(), and MuonResidualsFitter.write().

int tablePrinter.width = 10

Definition at line 59 of file tablePrinter.py.

Referenced by AlignableDet.addAlignmentPositionErrorFromRotation(), AlignableDetUnit.addAlignmentPositionErrorFromRotation(), CustomParticleFactory.addCustomParticle(), OptoScanAlgorithm.analyse(), MuonGeometrySVGTemplate.analyze(), Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea.autosizeScrollWidget(), MTVHistoProducerAlgo.BinLogX(), MuonTrackValidatorBase.BinLogX(), ecaldqm::MESetTrend.book(), PixelTopologyBuilder.build(), TrackerMap.build(), RPCGeometryBuilderFromCondDB.build(), FWTrackResidualDetailView.build(), DTGeometryBuilderFromDDD.buildChamber(), DTGeometryBuilderFromCondDB.buildChamber(), RPCGeometryBuilderFromDDD.buildGeometry(), RPCGeometryParsFromDD.buildGeometry(), DTGeometryBuilderFromDDD.buildLayer(), DTGeometryBuilderFromCondDB.buildLayer(), DTGeometryBuilderFromDDD.buildSuperLayer(), DTGeometryBuilderFromCondDB.buildSuperLayer(), CastorPedestalAnalysis.CastorPedVal(), Vispa.Plugins.EdmBrowser.EdmBrowserTabController.EdmBrowserTabController.centerViewMenuButtonClicked(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController.centerViewMenuButtonClicked(), edm::DocFormatHelper.commentWidth(), ForwardDiskSectorBuilderFromDet.computeBounds(), ForwardRingDiskBuilderFromDet.computeBounds(), TFParams.computePulseWidth(), TShapeAnalysis.computeShape(), boundSpan.computeSpan(), ForwardDetLayer.computeSurface(), DDHCalBarrelAlgo.constructInsideSector(), HICTrajectoryCorrector.correct(), FWTGeoRecoGeometryESProducer.createShape(), DreamSD.crystalWidth(), OptOMirror.detailedDeviatesLightRay(), OptOPlateSplitter.detailedTraversesLightRay(), OptOMirror.detailedTraversesLightRay(), OptOSensor2D.detailedTraversesLightRay(), RingMaker.determineExtensions(), TMatacq.doFit(), PrintGeomInfoAction.dumpPV(), RPCMonitorSync.endJob(), cms::HICSeedMeasurementEstimator.estimate(), DDTIBLayerAlgo_MTCC.execute(), DDTIBLayerAlgo.execute(), TrackerValidationVariables.fillHitQuantities(), SiStripMonitorTrack.fillMEs(), SiStripMonitorTrack.fillModMEs(), EcalCoder.findPedestal(), BeamMonitor.FitAndFill(), FWGUIManager.FWGUIManager(), SiStripInformationExtractor.getCondDBHistos(), SiStripInformationExtractor.getGlobalHistos(), SiStripInformationExtractor.getHistosFromPath(), SiPixelInformationExtractor.getHistosFromPath(), SiStripGainFromData.getPeakOfLandau(), OpticalObject.getPlate(), SiStripInformationExtractor.getSingleModuleHistos(), SiPixelInformationExtractor.getSingleModuleHistos(), SiStripInformationExtractor.getTrackerMapHistos(), SiPixelInformationExtractor.getTrackerMapHistos(), OptOCubeSplitter.getUpperPlate(), CSCValidation.getWidth(), HcalPedestalAnalysis.HcalPedVal(), HcalSiPM.hitCells(), DreamSD.initMap(), edm::service::ELtsErrorLog.item(), CustomParticleFactory.loadCustomParticles(), DDDividedPolyconeRho.makeDDLogicalPart(), DDDividedPolyhedraRho.makeDDLogicalPart(), CastorDbHardcode.makeGain(), CastorDbHardcode.makePedestal(), CastorDbHardcode.makePedestalWidth(), FWTableManagerBase.maxWidthForColumns(), SiStripMonitorMuonHLT.Normalizer(), edm::service.operator<<(), MuonResiduals5DOFFitter.plot(), MuonResiduals6DOFFitter.plot(), MuonResiduals6DOFrphiFitter.plot(), TwoBowedSurfacesDeformation.positionCorrection(), RecoTauPiZeroProducer.print(), SiStripClusterToDigiProducer.process(), ShallowClustersProducer.produce(), CastorClusterProducer.produce(), SiStripInformationExtractor.readStatusMessage(), SiPixelInformationExtractor.readStatusMessage(), Vispa.Views.PropertyView.PropertyView.resizeEvent(), CSGAction.resizeMenuEntry(), Vispa.Views.PropertyView.PropertyView.sectionResized(), edm::DocFormatHelper.setAtLeast1(), edm::DocFormatHelper.setAtLeast2(), edm::DocFormatHelper.setAtLeast3(), SiStripHistoPlotter.setNewCondDBPlot(), SiPixelHistoPlotter.setNewPlot(), SiStripHistoPlotter.setNewPlot(), dqmTnP::VoigtianPlusExponentialFitter.setup(), FWGUIManager.setWindowInfoFrom(), ecaldqm::MESetTrend.shift_(), Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.startDrag(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController.treeViewMenuButtonClicked(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView.updateContent(), ValidateGeometry.validateDTLayerGeometry(), dqmTnP::VoigtianPlusExponentialFitter.VoigtianPlusExponentialFitter(), Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea.wheelEvent(), and Vispa.Main.TabController.TabController.zoomAll().