CMS 3D CMS Logo

List of all members | Public Member Functions
HTMLExport.HTMLExportStatic Class Reference
Inheritance diagram for HTMLExport.HTMLExportStatic:

Public Member Functions

def __init__ (self)
 
def export (self, data, filename, filetype)
 
def produce (self, data)
 

Detailed Description

Definition at line 751 of file HTMLExport.py.

Constructor & Destructor Documentation

def HTMLExport.HTMLExportStatic.__init__ (   self)

Definition at line 755 of file HTMLExport.py.

755  def __init__(self):
756  FileExportPlugin.__init__(self)
757 

Member Function Documentation

def HTMLExport.HTMLExportStatic.export (   self,
  data,
  filename,
  filetype 
)

Definition at line 1023 of file HTMLExport.py.

References cond::EmptyIOVSource.produce(), DimuonMCMatcher.produce(), ShallowExampleProducer.produce(), WeakEffectsWeightProducer.produce(), ShallowEventDataProducer.produce(), MagneticFieldMapESProducer.produce(), PixelToFEDAssociateFromAsciiESProducer.produce(), FastSimGeometryESProducer.produce(), TrackerInteractionGeometryESProducer.produce(), PixelToLNKAssociateFromAsciiESProducer.produce(), DoubleProducer.produce(), PatElectronEAIsoCorrectionProducer.produce(), HLTDQMObjSelector< ObjType, ObjCollType >.produce(), HcalLaserEventFiltProducer2012.produce(), CandPtrProjector.produce(), ShallowTracksProducer.produce(), edm::EndPathStatusInserter.produce(), SiPixelFedCablingMapBuilder.produce(), SiPixelFakeCPEGenericErrorParmESSource.produce(), TrackingParticleConversionRefSelector.produce(), ElectronSqPtTkIsolationProducer.produce(), CSCChannelMapperESProducer.produce(), CSCIndexerESProducer.produce(), reco::modules::CaloRecHitCandidateProducer< HitCollection >.produce(), ConversionTrackRefFix.produce(), TrackingRecHitPipe.produce(), Phase2TrackerCablingESProducer.produce(), RazorVarProducer.produce(), SiPixelFakeGenErrorDBObjectESSource.produce(), SiPixelFakeTemplateDBObjectESSource.produce(), MFProducer.produce(), ShallowRechitClustersProducer.produce(), TkDetMapESProducer.produce(), AlphaTVarProducer.produce(), DistortedMETProducer.produce(), DTDigiToRawModule.produce(), edm::PathStatusInserter.produce(), L1TriggerKeyDummyProdExt.produce(), L1TriggerKeyListDummyProdExt.produce(), HLTDQMMuonSelector.produce(), ParticleDecayProducer.produce(), EventVtxInfoNtupleDumper.produce(), Phase2Tracker::Phase2TrackerCommissioningDigiProducer.produce(), ShallowTrackClustersProducer.produce(), ShallowSimhitClustersProducer.produce(), L1SubsystemKeysOnlineProdExt.produce(), L1TriggerKeyOnlineProdExt.produce(), sistrip::MeasureLA.produce(), ESRawToDigi.produce(), AssociationVectorSelector< KeyRefProd, CVal, KeySelector, ValSelector >.produce(), AssociationMapOneToOne2Association< CKey, CVal >.produce(), EmptySimHits.produce(), DiJetVarProducer.produce(), DistortedMuonProducerFromDB.produce(), MuonWithPFIsoProducer.produce(), CastorDbProducer.produce(), PFEGammaToCandidateRemapper.produce(), RawDataCollectorByLabel.produce(), evf::EvFFEDSelector.produce(), CastorFastTowerProducer.produce(), AssociationVector2ValueMap< KeyRefProd, CVal >.produce(), CalibratedPhotonProducerRun2T< T >.produce(), DistortedMuonProducer.produce(), DistortedPFCandProducer.produce(), IPTCorrector.produce(), CandViewRefMerger.produce(), ESDigiToRaw.produce(), HcalCalibFEDSelector.produce(), FamosProducer.produce(), CastorFastClusterProducer.produce(), ShallowSimTracksProducer.produce(), SiStripFedCablingESProducer.produce(), SiStripGainESSource.produce(), EcalIsolatedParticleCandidateProducer.produce(), SiStripHashedDetIdESProducer.produce(), RegressionEnergyPatElectronProducer.produce(), SiStripDelayESProducer.produce(), SiStripQualityESProducer.produce(), PFMuonUntagger.produce(), RPCPerformanceESSource.produce(), CollectionAdder< C >.produce(), ElectronSeedTrackRefFix.produce(), L1ObjectKeysOnlineProdBaseExt.produce(), SiStripNoiseESSource.produce(), SiStripPedestalsESSource.produce(), EcalLaserCorrectionService.produce(), SiStripBackPlaneCorrectionDepESProducer.produce(), ISRGammaWeightProducer.produce(), SiStripLorentzAngleDepESProducer.produce(), ShallowClustersProducer.produce(), FSRWeightProducer.produce(), ISRWeightProducer.produce(), DTUnpackingModule.produce(), HcalTimeSlewEP.produce(), RPCInverseCPPFLinkMapESProducer.produce(), RPCInverseLBLinkMapESProducer.produce(), RPCInverseOMTFLinkMapESProducer.produce(), RPCInverseTwinMuxLinkMapESProducer.produce(), SiStripTemplateEmptyFakeESSource< TObject, TRecord >.produce(), HBHEDarkeningEP.produce(), PdfWeightProducer.produce(), CSCDCCUnpacker.produce(), PFCandidateMuonUntagger.produce(), JetTracksAssociationToTrackRefs.produce(), RPCCPPFUnpacker.produce(), PixelTracksProducer.produce(), CalibratedElectronProducerRun2T< T >.produce(), IsolatedEcalPixelTrackCandidateProducer.produce(), AlignmentPrescaler.produce(), RPCAMCUnpacker.produce(), FastTSGFromL2Muon.produce(), CastorHardcodeCalibrations.produce(), NtpProducer< C >.produce(), FWRecoGeometryESProducer.produce(), LmfSource.produce(), SiStripProcessedRawDigiProducer.produce(), ElectronPATIdMVAProducer.produce(), SiStripGainESProducerTemplate< TDependentRecord, TInputRecord >.produce(), SiPixelGenErrorDBObjectESProducer.produce(), SiPixelTemplateDBObjectESProducer.produce(), FastTrackerRecHitMaskProducer.produce(), SiStripQualityFakeESSource.produce(), ZMuMuTrackUserData.produce(), CastorDigiToRaw.produce(), CandReducer.produce(), HcalDigiToRaw.produce(), HcalHistogramRawToDigi.produce(), PuppiPhoton.produce(), RawDataSelector.produce(), FRDStreamSource.produce(), CandidateTriggerObjectProducer.produce(), SiPixelFedFillerWordEventNumber.produce(), reco::modules::MatcherBase< C1, C2, M >.produce(), reco::modulesNew::Matcher< C1, C2, S, D >.produce(), TriggerMatchProducer< object >.produce(), ZMuMuMuonUserData.produce(), CloneProducer< C >.produce(), ShallowCloneProducer< C >.produce(), CTPPSPixelRawToDigi.produce(), AlcaBeamSpotFromDB.produce(), PFCandIsolatorFromDeposits.produce(), Phase2Tracker::Phase2TrackerDigiProducer.produce(), RPCAMCRawToDigi.produce(), RPCTwinMuxDigiToRaw.produce(), SiStripApvGainFakeESSource.produce(), SiStripBackPlaneCorrectionFakeESSource.produce(), SiStripBaseDelayFakeESSource.produce(), SiStripConfObjectFakeESSource.produce(), SiStripLatencyFakeESSource.produce(), SiStripPedestalsFakeESSource.produce(), SiStripThresholdFakeESSource.produce(), TrackInfoProducer.produce(), ShallowDigisProducer.produce(), TotemTriggerRawToDigi.produce(), EcalDCCTBUnpackingModule.produce(), DeltaBetaWeights.produce(), GEMDigiToRawModule.produce(), RPCUnpackingModule.produce(), VertexCompositeCandidateCollectionSelector.produce(), sistrip::ExcludedFEDListProducer.produce(), sistrip::RawToDigiModule.produce(), ElectronRecalibSuperClusterAssociator.produce(), SiStripBadModuleConfigurableFakeESSource.produce(), ZMuMuUserDataOneTrack.produce(), ZMuMuUserData.produce(), TkAlCaOverlapTagger.produce(), EcalDCCTB07UnpackingModule.produce(), HcalRawToDigi.produce(), FastTrackerRecHitCombiner.produce(), CastorTextCalibrations.produce(), AlcaBeamSpotProducer.produce(), L1GctInternJetProducer.produce(), ME0MuonTrackCollProducer.produce(), RPCPackingModule.produce(), LaserAlignmentProducer.produce(), PiZeroDiscriminatorProducer.produce(), MillePedeFileConverter.produce(), SubdetFEDSelector.produce(), edm::FwdPtrProducer< T, H >.produce(), PFMET.produce(), Type1PFMET.produce(), PuppiProducer.produce(), SiPixelDigiToRaw.produce(), EventCountProducer.produce(), edm::ThinningProducer< Collection, Selector >.produce(), SiStripNoisesFakeESSource.produce(), pf2pat::PFMETAlgo.produce(), sistrip::DigiToRawModule.produce(), SiPixelRawToDigi.produce(), edm::ProductFromFwdPtrProducer< T, H >.produce(), L1ConfigOnlineProdBaseExt< TRcd, TData >.produce(), EcalGlobalShowerContainmentCorrectionsVsEtaESProducer.produce(), SiStripRegFEDSelector.produce(), CSCDigiToRawModule.produce(), CSCTFPacker.produce(), HcalRawToDigiFake.produce(), DTFakeT0ESProducer.produce(), DaqFakeReader.produce(), EcalRegionCablingESProducer.produce(), EcalShowerContainmentCorrectionsESProducer.produce(), sistrip::SpyEventSummaryProducer.produce(), GEMRawToDigiModule.produce(), HcalDbProducer.produce(), CandMergerCleanOthersByDR.produce(), FWTGeoRecoGeometryESProducer.produce(), Merger< InputCollection, OutputCollection, P >.produce(), CastorRawToDigi.produce(), DTTFFEDSim.produce(), L1TTwinMuxRawToDigi.produce(), MatchedProbeMaker< T >.produce(), L1TriggerKeyListDummyProd.produce(), RPCTwinMuxRawToDigi.produce(), FastTrackerRecHitMatcher.produce(), TagProbeMassProducer.produce(), sistrip::SpyDigiConverterModule.produce(), SiStripLorentzAngleFakeESSource.produce(), AlcaPCCProducer.produce(), LaserAlignmentT0Producer.produce(), WMuNuProducer.produce(), CSCTFUnpacker.produce(), SiPixelFakeGainESSource.produce(), SiPixelFakeGainForHLTESSource.produce(), SiPixelFakeGainOfflineESSource.produce(), L1TriggerKeyDummyProd.produce(), AlCaEcalHcalReadoutsProducer.produce(), DTTFFEDReader.produce(), RawPCCProducer.produce(), EcalRecHitRecalib.produce(), HcalRecHitRecalib.produce(), PrimaryVertexSorter< ParticlesCollection >.produce(), AlCaElectronTracksReducer.produce(), pf2pat::PFIsoDepositAlgo.produce(), BufferedBoostIOESProducer< DataType, MyRecord >.produce(), L1SubsystemKeysOnlineProd.produce(), SiPixelFakeLorentzAngleESSource.produce(), SiPixelFakeQualityESSource.produce(), ECALRegFEDSelector.produce(), edm::TriggerResultInserter.produce(), L1TriggerKeyOnlineProd.produce(), ZToLLEdmNtupleDumper.produce(), PFPileUp.produce(), PFCand_AssoMap.produce(), AlCaDiJetsProducer.produce(), SiPixelQualityESProducer.produce(), ObjectSelectorProducer< Selector, OutputCollection, PostProcessor, StoreManager, Base, Init >.produce(), AlCaGammaJetProducer.produce(), DTuROSDigiToRaw.produce(), SiStripFineDelayHit.produce(), HcalDigiToRawuHTR.produce(), TotemVFATRawToDigi.produce(), L1ObjectKeysOnlineProdBase.produce(), ScalersRawToDigi.produce(), HBHENoiseFilterResultProducer.produce(), cms::HitReCalibrator.produce(), HcalTPGCoderULUT.produce(), LTCRawToDigi.produce(), GctDigiToRaw.produce(), MisalignedTrackerESProducer.produce(), EventWithHistoryProducer.produce(), TrackCandidateProducer.produce(), DTuROSRawToDigi.produce(), FromClusterSummaryMultiplicityProducer.produce(), PF_PU_AssoMap.produce(), L1GlobalTriggerRecordProducer.produce(), EventWithHistoryProducerFromL1ABC.produce(), AlCaHcalNoiseProducer.produce(), IsolatedPixelTrackCandidateProducer.produce(), pf2pat::TopProjectorAlgo< Top, Bottom >.produce(), CaloTPGTranscoderULUTs.produce(), SiStripBadModuleFedErrESSource.produce(), TcdsRawToDigi.produce(), EcalRawToDigi.produce(), HcalTextCalibrations.produce(), EcalFEDWithCRCErrorProducer.produce(), RctRawToDigi.produce(), l1t::L1TRawToDigi.produce(), IsolatedPixelTrackCandidateL1TProducer.produce(), MisalignedMuonESProducer.produce(), ConfigurableAPVCyclePhaseProducer.produce(), ValueMapTraslator.produce(), MuonMillepedeTrackRefitter.produce(), GctRawToDigi.produce(), SoftKillerProducer.produce(), omtf::OmtfPacker.produce(), PF_PU_FirstVertexTracks.produce(), OnlineMetaDataRawToDigi.produce(), AlCaECALRecHitReducer.produce(), EcalDigiToRaw.produce(), AlCaHBHEMuonProducer.produce(), MultiplicityProducer< T >.produce(), L1GlobalTriggerEvmRawToDigi.produce(), TrackingRecHitProducer.produce(), L1ConfigOnlineProdBase< TRcd, TData >.produce(), l1t::L1TDigiToRaw.produce(), ConditionDumperInEdm.produce(), CaloMiscalibToolsMC.produce(), omtf::OmtfUnpacker.produce(), HLTTauRefProducer.produce(), CaloMiscalibTools.produce(), HcalHardcodeCalibrations.produce(), L1GTEvmDigiToRaw.produce(), L1GtTextToRaw.produce(), JetDeltaRTagInfoValueMapProducer< T, I >.produce(), PFCand_NoPU_WithAM.produce(), AlignmentMuonHIPTrajectorySelector.produce(), l1t::AMC13DumpToRaw.produce(), TGeoMgrFromDdd.produce(), l1t::AMCDumpToRaw.produce(), L1GTDigiToRaw.produce(), reco::modules::TrackFullCloneSelectorBase< Selector >.produce(), sistrip::SpyUnpackerModule.produce(), SiPixelCalibDigiProducer.produce(), L1GtTriggerMenuLiteProducer.produce(), APVCyclePhaseProducerFromL1ABC.produce(), MEtoEDMConverter.produce(), L1GlobalTriggerRawToDigi.produce(), APVCyclePhaseProducerFromL1TS.produce(), CTPPSSimHitProducer.produce(), l1t::MP7BufferDumpToRaw.produce(), sistrip::FEDEmulatorModule.produce(), ShallowGainCalibration.produce(), JetConstituentSelector< T, C >.produce(), EDMtoMEConverter.produce(), Pi0FixedMassWindowCalibration.produce(), TrackerToMuonPropagator.produce(), edm::stream::EDProducerBase.produce(), CTPPSFastTrackingProducer.produce(), TkLasBeamFitter.produce(), CSCOverlapsTrackPreparation.produce(), reco::PhysObjectMatcher< C1, C2, S, D, Q >.produce(), FastSimProducer.produce(), JetDeltaRValueMapProducer< T, C >.produce(), CTPPSRecHitProducer.produce(), L1TCaloLayer1RawToDigi.produce(), MuonSimHitProducer.produce(), TrajectorySeedProducer.produce(), TotemDAQMappingESSourceXML.produce(), ZeeCalibration.produce(), edm::EDProducer.produce(), LaserAlignment.produce(), CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >.produce(), SelectedElectronFEDListProducer< TEle, TCand >.produce(), AlCaIsoTracksProducer.produce(), edm::one::EDProducerBase.produce(), edm::global::EDProducerBase.produce(), edm::limited::EDProducerBase.produce(), reco::modules::NamedCandCombiner< Selector, PairSelector, Cloner, Setup, Init >.produce(), MatacqProducer.produce(), reco::modules::CandCombiner< Selector, PairSelector, Cloner, OutputCollection, Setup, Init >.produce(), TopProjector< Top, Bottom, Matcher >.produce(), AlCaHOCalibProducer.produce(), edm::one::impl::Accumulator< T >.produce(), edm::stream::impl::Accumulator.produce(), edm::stream::CallBeginRunProduceImpl< T, bool >.produce(), edm::stream::CallBeginRunProduceImpl< T, false >.produce(), edm::stream::CallEndRunProduceImpl< T, bProduce, bSummary >.produce(), edm::stream::CallEndRunProduceImpl< T, true, false >.produce(), edm::stream::CallEndRunProduceImpl< T, true, true >.produce(), edm::stream::CallBeginLuminosityBlockProduceImpl< T, bool >.produce(), edm::stream::CallBeginLuminosityBlockProduceImpl< T, false >.produce(), edm::stream::CallEndLuminosityBlockProduceImpl< T, bProduce, bSummary >.produce(), edm::limited::impl::Accumulator< T >.produce(), edm::stream::CallEndLuminosityBlockProduceImpl< T, true, false >.produce(), edm::stream::CallEndLuminosityBlockProduceImpl< T, true, true >.produce(), edm::global::impl::Accumulator< T >.produce(), HTMLExport.HTMLExport.produce(), and HTMLExport.HTMLExportStatic.produce().

1023  def export(self,data,filename,filetype):
1024  #if not data.process():
1025  # raise "HTMLExport requires a cms.Process object"
1026 
1027  html = self.produce(data)
1028 
1029  if filetype=='html':
1030  htmlfile = open(filename,'w')
1031  htmlfile.write(html)
1032  htmlfile.close()
1033 
def produce(self, data)
Definition: HTMLExport.py:758
def export(self, data, filename, filetype)
Definition: HTMLExport.py:1023
def HTMLExport.HTMLExportStatic.produce (   self,
  data 
)

Definition at line 758 of file HTMLExport.py.

References HTMLExport.elem(), join(), and harvestTrackValidationPlots.str.

Referenced by JSONExport.JsonExport.export(), and HTMLExport.HTMLExportStatic.export().

758  def produce(self,data):
759  def elem(elemtype,innerHTML='',html_class='',**kwargs):
760  if html_class:
761  kwargs['class']=html_class
762  return "<%s %s>%s</%s>\n" % (elemtype,' '.join(['%s="%s"'%(k,v) for k,v in kwargs.items()]),innerHTML,elemtype)
763  def div(innerHTML='',html_class='',**kwargs):
764  return elem('div',innerHTML,html_class,**kwargs)
765 
766  def htmlPSet(pset):
767  def linkInputTag(tag):
768  inputtag=''
769  if isinstance(tag,typ.InputTag):
770  inputtag = tag.pythonValue()
771  else:
772  inputtag = tag
773  if len(str(tag))==0:
774  inputtag = '""'
775  return inputtag
776 
777  pset_items_html=''
778  for k,v in pset.items():
779  if isinstance(v,mix._ParameterTypeBase):
780  if isinstance(v,mix._SimpleParameterTypeBase):
781  item_class='other'
782  if isinstance(v,typ.bool):
783  item_class='bool'
784  if isinstance(v,typ.double):
785  item_class='double'
786  if isinstance(v,typ.string):
787  item_class='string'
788  if isinstance(v,(typ.int32, typ.uint32, typ.int64, typ.uint64)):
789  item_class='int'
790  pset_items_html+=elem('tr',
791  elem('td',k,'param-name')
792  +elem('td',v.pythonTypeName(),'param-class')
793  +elem('td',v.pythonValue(),'param-value-%s'%item_class),
794  'pset-item'
795  )
796  if isinstance(v,typ.InputTag):
797  pset_items_html+=elem('tr',
798  elem('td',k,'param-name')
799  +elem('td',v.pythonTypeName(),'param-class')
800  +elem('td',linkInputTag(v),'param-value-inputtag'),
801  'pset-item'
802  )
803  if isinstance(v,typ.PSet):
804  pset_html = ''
805  if len(v.parameters_())==0:
806  pset_items_html+=elem('tr',
807  elem('td',k,'param-name')
808  +elem('td',v.pythonTypeName(),'param-class')
809  +elem('td','(empty)','label'),
810  'pset-item'
811  )
812  else:
813  pset_items_html+=elem('tr',
814  elem('td',k,'param-name')
815  +elem('td',v.pythonTypeName(),'param-class')
816  +elem('td',htmlPSet(v.parameters_())),
817  'pset-item'
818  )
819  if isinstance(v,mix._ValidatingListBase):
820  list_html = ''
821  if len(v)==0:
822  list_html = elem('li','(empty)','label')
823  else:
824  if isinstance(v,typ.VInputTag):
825  for vv in v:
826  list_html += elem('li',linkInputTag(vv),'param-value-inputtag pset-list-item')
827  elif isinstance(v,typ.VPSet):
828  for vv in v:
829  list_html += elem('li',htmlPSet(vv.parameters_()),'pset-list-item')
830  else:
831  item_class='other'
832  if isinstance(v,typ.vbool):
833  item_class='bool'
834  if isinstance(v,typ.vdouble):
835  item_class='double'
836  if isinstance(v,typ.vstring):
837  item_class='string'
838  if isinstance(v,(typ.vint32,typ.vuint32,typ.vint64,typ.vuint64)):
839  item_class='int'
840  for vv in v:
841  if len(str(vv))==0:
842  vv = "''"
843  list_html += elem('li',vv,'pset-list-item param-value-%s'%item_class)
844  pset_items_html+=elem('tr',
845  elem('td',k,'param-name')
846  +elem('td','%s[%s]'%(v.pythonTypeName(),len(v)),'param-class')
847  +elem('td',elem('ol',list_html,'pset-list')),
848  'pset-item'
849  )
850 
851 
852  return elem('table',pset_items_html,'pset')
853 
854  def htmlModule(mod):
855  mod_label_html = div(elem('a',data.label(mod),'title',name=data.label(mod)),'module_label '+data.type(mod),onClick='return toggleModuleVisible(\'%s\')'%('mod_%s'%(data.label(mod))))
856 
857  mod_table = elem('table',
858  elem('tr',elem('td','Type','label')+elem('td',data.type(mod)))
859  +elem('tr',elem('td','Class','label')+elem('td',data.classname(mod))),
860  'module_table')
861 
862  mod_pset = htmlPSet(mod.parameters_())
863 
864  mod_content_html = div(mod_table+mod_pset,'module_area',id='mod_%s'%data.label(mod))
865  return div(mod_label_html+mod_content_html,'module',id='module_'+data.label(mod))
866 
867  def htmlPathRecursive(p):
868  children = data.children(p)
869  if children:
870  seq_name='Sequence'
871  if isinstance(p,sqt.Path):
872  seq_name='Path'
873  if isinstance(p,sqt.EndPath):
874  seq_name='EndPath'
875  seq_label_html = div(seq_name+' '+elem('span',data.label(p),'title')+' '+elem('span','[%s children hidden]'%len(children),'hidden',id='seq_hidden_%s'%data.label(p)),'sequence_label',onClick='return toggleSequenceVisible(\'%s\')'%data.label(p),id='seq_label_%s'%data.label(p))
876  seq_inner_content_html = ''.join([htmlPathRecursive(c) for c in children])
877  seq_content_html = div(seq_inner_content_html,'sequence_area',id='seq_%s'%data.label(p))
878  return div(seq_label_html+seq_content_html,'sequence')
879  else:
880  return htmlModule(p)
881 
882  toplevel={}
883 
884 
885 
886  filter_html = elem('span','Filter '+
887  elem('input',type='text',width=50,onkeyup="return doFilter();",id='input-filter'),
888  'right label')
889 
890  header_html = div('Config File Visualisation'+filter_html,'header')
891 
892  if data.process():
893  for tlo in data.children(data.topLevelObjects()[0]):
894  children = data.children(tlo)
895  if children:
896  toplevel[tlo._label]=children
897  path_html=''
898  if 'paths' in toplevel:
899  for path in toplevel['paths']:
900  path_html += div(htmlPathRecursive(path),'path')
901 
902  file_html = div(elem('span','Process:')
903  +elem('span',data.process().name_(),'title')
904  +elem('span',data._filename,'right'),
905  'file')
906  head_html = elem('head',elem('title',data.process().name_()))
907  else:
908  toplevel['sequences']=[]
909  toplevel['paths']=[]
910  toplevel['modules']=[]
911  for tlo in data.topLevelObjects():
912  if data.type(tlo)=='Sequence':
913  toplevel['sequences']+=[tlo]
914  if data.type(tlo)=='Path':
915  toplevel['paths']+=[tlo]
916  if data.type(tlo) in ('EDAnalyzer','EDFilter','EDProducer','OutputModule'):
917  toplevel['modules']+=[tlo]
918 
919  path_html = ''
920  sequence_html = ''
921  module_html = ''
922  for path in toplevel['paths']:
923  path_html += div(htmlPathRecursive(path),'path')
924  for sequence in toplevel['sequences']:
925  sequence_html += htmlPathRecursive(sequence)
926  for module in toplevel['modules']:
927  module_html += htmlModule(module)
928  file_html = div(elem('span',data._filename,'right'),'file')
929  path_html += sequence_html
930  path_html += module_html
931  head_html = elem('head',elem('title',data._filename))
932  footer_html = div('gordon.ball','footer')
933 
934 
935 
936  style_html = elem('style',
937  """
938  .title{font-weight:bold}
939  .label{color:grey}
940  .header{position:fixed;top:0px;left:0px;width:100%;background:#33cc00;font-weight:bold;font-size:120%}
941  .footer{position:fixed;bottom:0px;left:0px;width:100%;background:#33cc00;text-align:right}
942  .canvas{padding:40px 10px 40px 10px}
943  .file{position:relative;background:#bbb;width:100%;padding-left:5px}
944  .right{position:absolute;right:5px}
945  .sequence{border:1px solid #aaa}
946  .sequence:hover{border 1px solid #00ffff}
947  .sequence_label{background:lightskyblue;padding-left:5px}
948  .sequence_label:hover{background:#fff}
949  .sequence_label_hidden{background:grey;padding-left:5px}
950  .sequence_area{padding:5px 0px 5px 5px}
951  .edproducer{border:1px solid red;background-image:url('edproducer.png');background-position:center left;background-repeat:no-repeat;padding:0px 0px 0px 40px}
952  .edfilter{border:1px solid green;background-image:url('edfilter.png');background-position:center left;background-repeat:no-repeat;padding:0px 0px 0px 40px}
953  .edanalyzer{border:1px solid blue;background-image:url('edanalyzer.png');background-position:center left;background-repeat:no-repeat;padding:0px 0px 0px 40px}
954  .outputmodule{border:1px solid green;background-image:url('outputmodule.png');background-position:center left;background-repeat:no-repeat;padding:0px 0px 0px 40px}
955  .module{}
956  .module_label:hover{background:#ccc;position:relative}
957  .module_area{display:none;padding:5px 0px 15px 15px;background:beige}
958  .pset{border-spacing:10px 1px;border:1px solid black}
959  .pset-item{}
960  .pset-list{list-style-type:none;margin:0px;padding:2px 2px 2px 2px;border:1px solid grey}
961  .pset-list-item{border-top:1px solid lightgrey;border-bottom:1px solid lightgrey}
962  .param-name{font-weight:bold}
963  .param-class{color:grey}
964  .param-value-int{font-family:courier;color:blue}
965  .param-value-double{font-family:courier;color:purple}
966  .param-value-string{font-family:courier;color:brown}
967  .param-value-bool{font-family:courier;color:#f0f}
968  .param-value-inputtag{font-family:courier;color:red}
969  .param-value-other{font-family:courier}
970  .path{}
971  .hidden{display:none}
972  """,
973  type='text/css')
974 
975  script_html = elem('script',
976  """
977  function toggleModuleVisible(id) {
978  var elem = document.getElementById(id);
979  if (elem.style.display=='block') {
980  elem.style.display='none';
981  } else {
982  elem.style.display='block';
983  }
984  }
985 
986  function toggleSequenceVisible(id) {
987  var area_elem = document.getElementById('seq_'+id);
988  var hidden_elem = document.getElementById('seq_hidden_'+id);
989  var label_elem = document.getElementById('seq_label_'+id);
990  if (area_elem.style.display=='none') {
991  area_elem.style.display='block';
992  hidden_elem.style.display='none';
993  label_elem.className = 'sequence_label';
994  } else {
995  area_elem.style.display='none';
996  hidden_elem.style.display='block';
997  label_elem.className = 'sequence_label_hidden';
998  }
999  }
1000 
1001  function doFilter() {
1002  var text = document.getElementById('input-filter').value;
1003  var regex = new RegExp(text);
1004  for (var i=0;i<document.all.length;i++) {
1005  if (document.all(i).id.substr(0,7)=="module_") {
1006  var elem = document.all(i);
1007  var elem_name = elem.id.substr(7);
1008  if (regex.test(elem_name)) {
1009  elem.style.display='block';
1010  } else {
1011  elem.style.display='none';
1012  }
1013  }
1014  }
1015  }
1016  """,
1017  type='text/javascript')
1018 
1019  body_html = elem('body',script_html+header_html+footer_html+div(file_html+path_html,'canvas'))
1020 
1021  return elem('html',head_html+style_html+body_html)
1022 
def produce(self, data)
Definition: HTMLExport.py:758
def elem(elemtype, innerHTML='', html_class='', kwargs)
Definition: HTMLExport.py:18
static std::string join(char **cmd)
Definition: RemoteFile.cc:18