CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Attributes
data_sources.json_list Class Reference
Inheritance diagram for data_sources.json_list:
data_sources.json_data_node

Public Member Functions

def __init__ (self, data=None)
 
def __iter__ (self)
 
def add_child (self, data)
 
def as_dicts (self, convert_timestamps=False)
 
def as_table (self, fit=["all"], columns=None, hide=None, col_width=None, row_nums=False)
 
def first (self)
 
def get_members (self, member_name)
 
def indices (self, indices)
 
def last (self)
 
def next (self)
 
def reset (self)
 
- Public Member Functions inherited from data_sources.json_data_node
def __init__ (self, data=None)
 
def __str__ (self)
 
def data (self)
 
def find (self, type_name)
 
def get (self, args)
 
def raw (self)
 
def set (self, data)
 

Public Attributes

 iterator_index
 

Private Attributes

 _data
 

Additional Inherited Members

- Static Public Member Functions inherited from data_sources.json_data_node
def make (data)
 

Detailed Description

Definition at line 175 of file data_sources.py.

Constructor & Destructor Documentation

def data_sources.json_list.__init__ (   self,
  data = None 
)

Definition at line 179 of file data_sources.py.

179  def __init__(self, data=None):
180  self._data = data if data != None else []
181  self.iterator_index = 0
182 
def __init__(self, data=None)

Member Function Documentation

def data_sources.json_list.__iter__ (   self)

Definition at line 198 of file data_sources.py.

198  def __iter__(self):
199  return self
200 
def data_sources.json_list.add_child (   self,
  data 
)

Definition at line 191 of file data_sources.py.

191  def add_child(self, data):
192  if data.__class__.__name__ in ["json_list", "json_dict", "json_basic"]:
193  data = data.data()
194  self._data.append(data)
195 
def add_child(self, data)
def data_sources.json_list.as_dicts (   self,
  convert_timestamps = False 
)

Definition at line 240 of file data_sources.py.

References HcalPulseShape.data(), CombinedSVCalibration.data, CombinedTauTagCalibration.data, data_sources.node.data(), TrackProbabilityCalibration.data, ElectronLikelihoodCalibration.data, DOTExport.DotProducer.data, CSCTMBScope.data, SimpleVFATFrameCollection.data, confdb.HLTProcess.data, KDTreeNodeInfo< DATA >.data, CaloTSamples< Ttype, Tsize >.data(), magfieldparam::rz_poly.data, classes.PlotData.data, cond::Binary.data(), emtf::Event.data, dqm::DQMFileSaverOnline::SnapshotFiles.data, QGLikelihoodObject.data, materialEffect::Covariance.data, dqmTnP::AbstractFitter.data, LASModuleProfile.data, KDTreeNodeInfoT< DATA, DIM >.data, CaloTSamplesBase< Ttype >.data(), KDTreeNodes< DATA >.data, UnbinnedFitDeDxEstimator.data, QGLikelihoodSystematicsObject.data, tkMSParameterization::Elems.data, DynArray< T >.data(), TkStripRecHitIter.data, TkLasBeam.data, tkMSParameterization::FromToData.data, hcaltb::ClassicQADCDataFormat.data, GeometryComparisonPlotter.data, CSCUpgradeMotherboard::LCTContainer.data, coral_bridge::AuthenticationCredentialSet.data(), EcalGlobalShowerContainmentCorrectionsVsEta::Coefficients.data, magfieldparam::poly2d_base.data, data_sources.json_file.data(), edm::MapOfVectors< K, T >::Iter.data, edm::DetSet< T >.data, data, EcalShowerContainmentCorrections::Coefficients.data, PixelLimits.data, TkMSParameterization.data, options.HLTProcessOptions.data, data_sources.sqlite_schema.data(), cscdqm::Cache.data, StripLimits.data, DQMNet::Bucket.data, data_sources.json_data_node.data(), PhysicsTools::TrainerMonitoring::Module.data, cond::payloadInspector::PlotBase.data(), VFATFrame.data, cuy.FindIssue.data, HCAL_HLX::ET_SUM_NIBBLE.data, HCAL_HLX::OCCUPANCY_NIBBLE.data, HCAL_HLX::LHC_NIBBLE.data, HCAL_HLX::ET_SUM_SECTION.data, HCAL_HLX::OCCUPANCY_SECTION.data, HCAL_HLX::LHC_SECTION.data, edmStreamStallGrapher.Stack.data, CSCFakeCrosstalkMap.get(), HcalPulseContainmentManager.get(), cond::persistency::CondGetter.get(), cond::Binary.get(), helper::MasterCollection< C1 >.get(), cond::payloadInspector::PlotAnnotations.get(), SiStripFakeAPVParameters.get(), cond::CoralServiceFactory.get(), TMTQ.get(), TPN.get(), AlignableMap.get(), cond::persistency::KeyList.get(), pos::PixelROCStatus.get(), AlignableIndexer.get(), helper::MasterCollection< edm::View< T > >.get(), CaloMiscalibMapHcal.get(), TAPD.get(), coral_bridge::AuthenticationCredentialSet.get(), InputTagDistributorService.get(), cond::persistency::RunInfoProxy.get(), CaloMiscalibMapEcal.get(), data_sources.json_data_node.get(), cond::persistency::RowBuffer< Columns >.get(), cond::persistency::TableDescription< Types >.get(), pos::PixelConfigFile.get(), cond::persistency::QueryIterator< Types >.get(), cond::persistency::UpdateBuffer.get(), cond::persistency::DeleteBuffer.get(), tkal_create_file_lists._DasCache.get(), genParticles_cff.map, and edm.print().

240  def as_dicts(self, convert_timestamps=False):
241 
242  if len(self.data()) == 0:
243  print("\nNo data to convert to dictionaries.\n")
244  return
245 
246  if self.get(0).data().__class__.__name__ in ["GlobalTag", "GlobalTagMap", "Tag", "IOV", "Payload"]:
247  # copy data
248  new_data = map(lambda item : item.as_dicts(convert_timestamps=convert_timestamps), [item for item in self.data()])
249  return new_data
250  else:
251  print("Data in json_list was not the correct type.")
252 
253 
def as_dicts(self, convert_timestamps=False)
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def data_sources.json_list.as_table (   self,
  fit = ["all"],
  columns = None,
  hide = None,
  col_width = None,
  row_nums = False 
)

Definition at line 258 of file data_sources.py.

References data_formats._objects_to_dicts(), models.class_name_to_column(), HcalPulseShape.data(), CombinedSVCalibration.data, CombinedTauTagCalibration.data, data_sources.node.data(), TrackProbabilityCalibration.data, ElectronLikelihoodCalibration.data, DOTExport.DotProducer.data, CSCTMBScope.data, SimpleVFATFrameCollection.data, confdb.HLTProcess.data, KDTreeNodeInfo< DATA >.data, CaloTSamples< Ttype, Tsize >.data(), magfieldparam::rz_poly.data, classes.PlotData.data, cond::Binary.data(), emtf::Event.data, dqm::DQMFileSaverOnline::SnapshotFiles.data, QGLikelihoodObject.data, materialEffect::Covariance.data, dqmTnP::AbstractFitter.data, LASModuleProfile.data, KDTreeNodeInfoT< DATA, DIM >.data, CaloTSamplesBase< Ttype >.data(), KDTreeNodes< DATA >.data, UnbinnedFitDeDxEstimator.data, QGLikelihoodSystematicsObject.data, tkMSParameterization::Elems.data, DynArray< T >.data(), TkStripRecHitIter.data, TkLasBeam.data, tkMSParameterization::FromToData.data, hcaltb::ClassicQADCDataFormat.data, GeometryComparisonPlotter.data, CSCUpgradeMotherboard::LCTContainer.data, coral_bridge::AuthenticationCredentialSet.data(), EcalGlobalShowerContainmentCorrectionsVsEta::Coefficients.data, magfieldparam::poly2d_base.data, data_sources.json_file.data(), edm::MapOfVectors< K, T >::Iter.data, edm::DetSet< T >.data, data, EcalShowerContainmentCorrections::Coefficients.data, PixelLimits.data, TkMSParameterization.data, options.HLTProcessOptions.data, data_sources.sqlite_schema.data(), cscdqm::Cache.data, StripLimits.data, DQMNet::Bucket.data, data_sources.json_data_node.data(), PhysicsTools::TrainerMonitoring::Module.data, cond::payloadInspector::PlotBase.data(), VFATFrame.data, cuy.FindIssue.data, HCAL_HLX::ET_SUM_NIBBLE.data, HCAL_HLX::OCCUPANCY_NIBBLE.data, HCAL_HLX::LHC_NIBBLE.data, HCAL_HLX::ET_SUM_SECTION.data, HCAL_HLX::OCCUPANCY_SECTION.data, HCAL_HLX::LHC_SECTION.data, edmStreamStallGrapher.Stack.data, models.generate(), CSCFakeCrosstalkMap.get(), HcalPulseContainmentManager.get(), cond::persistency::CondGetter.get(), cond::Binary.get(), helper::MasterCollection< C1 >.get(), SiStripFakeAPVParameters.get(), cond::payloadInspector::PlotAnnotations.get(), cond::CoralServiceFactory.get(), TMTQ.get(), TPN.get(), AlignableMap.get(), cond::persistency::KeyList.get(), pos::PixelROCStatus.get(), AlignableIndexer.get(), helper::MasterCollection< edm::View< T > >.get(), CaloMiscalibMapHcal.get(), TAPD.get(), coral_bridge::AuthenticationCredentialSet.get(), InputTagDistributorService.get(), cond::persistency::RunInfoProxy.get(), CaloMiscalibMapEcal.get(), data_sources.json_data_node.get(), cond::persistency::RowBuffer< Columns >.get(), cond::persistency::TableDescription< Types >.get(), pos::PixelConfigFile.get(), cond::persistency::QueryIterator< Types >.get(), cond::persistency::UpdateBuffer.get(), cond::persistency::DeleteBuffer.get(), tkal_create_file_lists._DasCache.get(), createfilelist.int, relativeConstraints.keys, edm.print(), python.rootplot.root2matplotlib.replace(), data_sources.json_data_node.set(), split, str, and pileupCalc.upper.

258  def as_table(self, fit=["all"], columns=None, hide=None, col_width=None, row_nums=False):
259 
260  if len(self.data()) == 0:
261  print("\nNo data to draw table with.\n")
262  return
263 
264  from . import models
265  models_dict = models.generate()
266 
267  # if the list contains ORM objects, then convert them all to dictionaries,
268  # otherwise, leave the list as it is - assume it is already a list of dictionaries
269  if self.get(0).data().__class__.__name__ in ["GlobalTag", "GlobalTagMap", "GlobalTagMapRequest", "Tag", "IOV", "Payload"]:
270 
271  from .data_formats import _objects_to_dicts
272  data = _objects_to_dicts(self.data()).data()
273 
274  from .querying import connection
275  table_name = models.class_name_to_column(self.get(0).data().__class__).upper()
276  # set headers to those found in ORM models
277  # do it like this so we copy the headers
278  # for example, if headers are hidden by the user, then this will change the orm class if we don't do it like this
279  headers = [header for header in models_dict[self.get(0).data().__class__.__name__.lower()].headers]
280  else:
281  table_name = None
282  data = self.data()
283  # gets headers stored in first dictionary
284  headers = data[0].keys()
285 
286  if columns != None:
287  headers = columns
288 
289  if row_nums:
290  headers = ["row"] + headers
291 
292  # append an extra column to all rows of data, as well
293  for i, item in enumerate(data):
294  data[i]["row"] = str(i)
295 
296  if fit == ["all"]:
297  fit = headers
298 
299  if col_width == None:
300  import subprocess
301  table_width = int(0.95*int(subprocess.check_output(["stty", "size"]).split(" ")[1]))
302  col_width = int(table_width/len(headers))
303 
304  if hide != None:
305  for n in range(0, len(hide)):
306  del headers[headers.index(hide[n])]
307 
308  def max_width_of_column(column, data):
309  max_width_found = len(str(data[0][column]))
310  for item in data:
311  current_width = len(str(item[column]))
312  if current_width > max_width_found:
313  max_width_found = current_width
314  if max_width_found > len(column):
315  return max_width_found
316  else:
317  return len(column)
318 
319  def cell(content, header, col_width, fit):
320  if fit:
321  col_width_with_padding = col_width+2
322  col_width_substring = len(str(content))
323  else:
324  col_width_with_padding = col_width-2 if col_width-2 > 0 else 1
325  col_width_substring = col_width-5 if col_width-7 > 0 else 1
326  return ("| {:<%s} " % (col_width_with_padding)).format(str(content)[0:col_width_substring].replace("\n", "")\
327  + ("..." if not(fit) and col_width_substring < len(str(content)) else ""))
328 
329  column_to_width = {}
330 
331  if fit != headers:
332 
333  # get the column widths of fited columns
334  surplus_width = 0
335  for column in fit:
336 
337  if not(column in headers):
338  print("'%s' is not a valid column." % column)
339  return
340 
341  column_to_width[column] = max_width_of_column(column, data)
342  surplus_width += column_to_width[column]-col_width
343 
344  if len(set(headers)-set(fit)) != 0:
345  non_fited_width_surplus = surplus_width/len(set(headers)-set(fit))
346  else:
347  non_fited_width_surplus = 0
348 
349  for column in headers:
350  if not(column in fit):
351  column_to_width[column] = col_width - non_fited_width_surplus
352  else:
353  for column in headers:
354  column_to_width[column] = max_width_of_column(column, data)
355 
356  ascii_string = "\n%s\n\n" % table_name if table_name != None else "\n"
357  for header in headers:
358  ascii_string += cell(header, header, column_to_width[header], header in fit)
359  ascii_string += "\n"
360  horizontal_border = "\n"
361  ascii_string += horizontal_border
362  for item in data:
363  for n in range(0, len(headers)):
364  entry = item[headers[n]]
365  ascii_string += cell(entry, headers[n], column_to_width[headers[n]], headers[n] in fit)
366  ascii_string += "\n"
367  #ascii_string += "\n"
368  ascii_string += horizontal_border
369  ascii_string += "Showing %d rows\n\n" % len(data)
370  print(ascii_string)
371 
def replace(string, replacements)
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def as_table(self, fit=["all"], columns=None, hide=None, col_width=None, row_nums=False)
def generate(map_blobs=False, class_name=None)
Definition: models.py:189
def class_name_to_column(cls)
Definition: models.py:59
def _objects_to_dicts(data)
Definition: data_formats.py:97
#define str(s)
double split
Definition: MVATrainer.cc:139
def data_sources.json_list.first (   self)
def data_sources.json_list.get_members (   self,
  member_name 
)

Definition at line 228 of file data_sources.py.

References HcalPulseShape.data(), CombinedSVCalibration.data, CombinedTauTagCalibration.data, data_sources.node.data(), TrackProbabilityCalibration.data, ElectronLikelihoodCalibration.data, DOTExport.DotProducer.data, CSCTMBScope.data, SimpleVFATFrameCollection.data, confdb.HLTProcess.data, KDTreeNodeInfo< DATA >.data, CaloTSamples< Ttype, Tsize >.data(), magfieldparam::rz_poly.data, classes.PlotData.data, cond::Binary.data(), emtf::Event.data, dqm::DQMFileSaverOnline::SnapshotFiles.data, QGLikelihoodObject.data, materialEffect::Covariance.data, dqmTnP::AbstractFitter.data, LASModuleProfile.data, KDTreeNodeInfoT< DATA, DIM >.data, CaloTSamplesBase< Ttype >.data(), KDTreeNodes< DATA >.data, UnbinnedFitDeDxEstimator.data, QGLikelihoodSystematicsObject.data, tkMSParameterization::Elems.data, DynArray< T >.data(), TkStripRecHitIter.data, TkLasBeam.data, tkMSParameterization::FromToData.data, hcaltb::ClassicQADCDataFormat.data, GeometryComparisonPlotter.data, CSCUpgradeMotherboard::LCTContainer.data, coral_bridge::AuthenticationCredentialSet.data(), EcalGlobalShowerContainmentCorrectionsVsEta::Coefficients.data, magfieldparam::poly2d_base.data, data_sources.json_file.data(), edm::MapOfVectors< K, T >::Iter.data, edm::DetSet< T >.data, data, EcalShowerContainmentCorrections::Coefficients.data, PixelLimits.data, TkMSParameterization.data, options.HLTProcessOptions.data, data_sources.sqlite_schema.data(), cscdqm::Cache.data, StripLimits.data, DQMNet::Bucket.data, data_sources.json_data_node.data(), PhysicsTools::TrainerMonitoring::Module.data, cond::payloadInspector::PlotBase.data(), VFATFrame.data, cuy.FindIssue.data, HCAL_HLX::ET_SUM_NIBBLE.data, HCAL_HLX::OCCUPANCY_NIBBLE.data, HCAL_HLX::LHC_NIBBLE.data, HCAL_HLX::ET_SUM_SECTION.data, HCAL_HLX::OCCUPANCY_SECTION.data, HCAL_HLX::LHC_SECTION.data, edmStreamStallGrapher.Stack.data, and genParticles_cff.map.

228  def get_members(self, member_name):
229  # assume self.data() is a list
230  if not(type(member_name) in [str, unicode]):
231  raise TypeError("Value given for member name must be a string.")
232  type_of_first_item = self.data()[0].__class__
233  for item in self.data():
234  if item.__class__ != type_of_first_item:
235  return None
236  return json_data_node.make(map(lambda item : getattr(item, member_name), self.data()))
237 
def get_members(self, member_name)
def data_sources.json_list.indices (   self,
  indices 
)

Definition at line 214 of file data_sources.py.

References data_sources.json_data_node.data(), CSCFakeCrosstalkMap.get(), HcalPulseContainmentManager.get(), cond::persistency::CondGetter.get(), cond::Binary.get(), helper::MasterCollection< C1 >.get(), cond::payloadInspector::PlotAnnotations.get(), SiStripFakeAPVParameters.get(), cond::CoralServiceFactory.get(), TMTQ.get(), TPN.get(), AlignableMap.get(), cond::persistency::KeyList.get(), pos::PixelROCStatus.get(), AlignableIndexer.get(), helper::MasterCollection< edm::View< T > >.get(), CaloMiscalibMapHcal.get(), TAPD.get(), coral_bridge::AuthenticationCredentialSet.get(), InputTagDistributorService.get(), CaloMiscalibMapEcal.get(), cond::persistency::RunInfoProxy.get(), data_sources.json_data_node.get(), cond::persistency::RowBuffer< Columns >.get(), cond::persistency::TableDescription< Types >.get(), pos::PixelConfigFile.get(), cond::persistency::QueryIterator< Types >.get(), cond::persistency::UpdateBuffer.get(), cond::persistency::DeleteBuffer.get(), tkal_create_file_lists._DasCache.get(), and createfilelist.int.

214  def indices(self, *indices):
215  final_list = []
216  for index in indices:
217  try:
218  index = int(index)
219  try:
220  final_list.append(self.get(index).data())
221  except Exception:
222  # index didn't exist
223  pass
224  except Exception:
225  return
226  return json_data_node.make(final_list)
227 
def indices(self, indices)
def data_sources.json_list.last (   self)

Definition at line 187 of file data_sources.py.

References HcalPulseShape.data(), CombinedSVCalibration.data, CombinedTauTagCalibration.data, data_sources.node.data(), TrackProbabilityCalibration.data, ElectronLikelihoodCalibration.data, DOTExport.DotProducer.data, CSCTMBScope.data, SimpleVFATFrameCollection.data, KDTreeNodeInfo< DATA >.data, confdb.HLTProcess.data, CaloTSamples< Ttype, Tsize >.data(), magfieldparam::rz_poly.data, classes.PlotData.data, cond::Binary.data(), emtf::Event.data, QGLikelihoodObject.data, dqm::DQMFileSaverOnline::SnapshotFiles.data, materialEffect::Covariance.data, dqmTnP::AbstractFitter.data, LASModuleProfile.data, KDTreeNodeInfoT< DATA, DIM >.data, CaloTSamplesBase< Ttype >.data(), KDTreeNodes< DATA >.data, UnbinnedFitDeDxEstimator.data, QGLikelihoodSystematicsObject.data, tkMSParameterization::Elems.data, DynArray< T >.data(), TkStripRecHitIter.data, TkLasBeam.data, tkMSParameterization::FromToData.data, hcaltb::ClassicQADCDataFormat.data, GeometryComparisonPlotter.data, CSCUpgradeMotherboard::LCTContainer.data, coral_bridge::AuthenticationCredentialSet.data(), EcalGlobalShowerContainmentCorrectionsVsEta::Coefficients.data, magfieldparam::poly2d_base.data, data_sources.json_file.data(), edm::MapOfVectors< K, T >::Iter.data, edm::DetSet< T >.data, data, EcalShowerContainmentCorrections::Coefficients.data, PixelLimits.data, TkMSParameterization.data, options.HLTProcessOptions.data, data_sources.sqlite_schema.data(), cscdqm::Cache.data, StripLimits.data, DQMNet::Bucket.data, data_sources.json_data_node.data(), PhysicsTools::TrainerMonitoring::Module.data, cond::payloadInspector::PlotBase.data(), VFATFrame.data, cuy.FindIssue.data, HCAL_HLX::ET_SUM_NIBBLE.data, HCAL_HLX::OCCUPANCY_NIBBLE.data, HCAL_HLX::LHC_NIBBLE.data, HCAL_HLX::ET_SUM_SECTION.data, HCAL_HLX::OCCUPANCY_SECTION.data, HCAL_HLX::LHC_SECTION.data, edmStreamStallGrapher.Stack.data, CSCFakeCrosstalkMap.get(), HcalPulseContainmentManager.get(), cond::persistency::CondGetter.get(), cond::Binary.get(), helper::MasterCollection< C1 >.get(), SiStripFakeAPVParameters.get(), cond::payloadInspector::PlotAnnotations.get(), cond::CoralServiceFactory.get(), TMTQ.get(), TPN.get(), cond::persistency::KeyList.get(), AlignableMap.get(), pos::PixelROCStatus.get(), AlignableIndexer.get(), helper::MasterCollection< edm::View< T > >.get(), CaloMiscalibMapHcal.get(), TAPD.get(), coral_bridge::AuthenticationCredentialSet.get(), InputTagDistributorService.get(), cond::persistency::RunInfoProxy.get(), CaloMiscalibMapEcal.get(), data_sources.json_data_node.get(), cond::persistency::RowBuffer< Columns >.get(), cond::persistency::TableDescription< Types >.get(), pos::PixelConfigFile.get(), cond::persistency::QueryIterator< Types >.get(), cond::persistency::UpdateBuffer.get(), cond::persistency::DeleteBuffer.get(), and tkal_create_file_lists._DasCache.get().

187  def last(self):
188  data = self.get(len(self.data())-1)
189  return data
190 
def data_sources.json_list.next (   self)
def data_sources.json_list.reset (   self)

Member Data Documentation

data_sources.json_list._data
private
data_sources.json_list.iterator_index

Definition at line 181 of file data_sources.py.

Referenced by data_sources.json_list.next(), and data_sources.json_list.reset().