CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
ntuplePrintersDiff._DiffResult Class Reference
Inheritance diagram for ntuplePrintersDiff._DiffResult:

Public Member Functions

def __init__
 
def __len__
 
def __str__
 
def extend
 
def hasDifference
 
def highlight
 
def highlightLines
 
def lines
 
def setDifference
 

Private Member Functions

def _highlightLine
 

Private Attributes

 _diff
 
 _hasDifference
 

Detailed Description

Definition at line 86 of file ntuplePrintersDiff.py.

Constructor & Destructor Documentation

def ntuplePrintersDiff._DiffResult.__init__ (   self,
  diff = [],
  hasDifference = False 
)

Definition at line 87 of file ntuplePrintersDiff.py.

87 
88  def __init__(self, diff=[], hasDifference=False):
89  self._diff = []
90  self._hasDifference = hasDifference
91  self.extend(diff)

Member Function Documentation

def ntuplePrintersDiff._DiffResult.__len__ (   self)

Definition at line 156 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult._diff.

157  def __len__(self):
158  return len(self._diff)
def ntuplePrintersDiff._DiffResult.__str__ (   self)

Definition at line 153 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult._diff, join(), and str.

154  def __str__(self):
155  return "\n".join([s for s in (str(item) for item in self._diff) if s != ""])
static std::string join(char **cmd)
Definition: RemoteFile.cc:19
#define str(s)
def ntuplePrintersDiff._DiffResult._highlightLine (   self,
  line,
  plus,
  minus 
)
private

Definition at line 106 of file ntuplePrintersDiff.py.

Referenced by ntuplePrintersDiff._DiffResult.highlight(), and ntuplePrintersDiff._DiffResult.highlightLines().

107  def _highlightLine(self, line, plus, minus):
108  char = " "
109  if line[0] == "+":
110  if plus: char = "+"
111  elif line[0] == "-":
112  if minus: char = "-"
113  elif line[0] == "?":
114  char = "?"
115  return line[0]+char+line[1:]
def ntuplePrintersDiff._DiffResult.extend (   self,
  diff 
)

Definition at line 98 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult.setDifference().

Referenced by MatrixUtil.WF.__init__().

98 
99  def extend(self, diff):
100  if isinstance(diff, _DiffResult):
101  self._diff.append(diff)
102  if diff.hasDifference():
103  self.setDifference()
104  else:
105  self._diff.extend(diff)
def ntuplePrintersDiff._DiffResult.hasDifference (   self)

Definition at line 95 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult._hasDifference.

95 
96  def hasDifference(self):
97  return self._hasDifference
def ntuplePrintersDiff._DiffResult.highlight (   self,
  plus = False,
  minus = False 
)

Definition at line 116 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult._diff, and ntuplePrintersDiff._DiffResult._highlightLine().

117  def highlight(self, plus=False, minus=False):
118  if not (plus or minus):
119  return
120 
121  for i, line in enumerate(self._diff):
122  if isinstance(line, _DiffResult):
123  line.highlight(plus, minus)
124  else:
125  self._diff[i] = self._highlightLine(line, plus, minus)
def ntuplePrintersDiff._DiffResult.highlightLines (   self,
  plusregexs = [],
  minusregexs = [] 
)

Definition at line 126 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult._diff, and ntuplePrintersDiff._DiffResult._highlightLine().

127  def highlightLines(self, plusregexs=[], minusregexs=[]):
128  if len(plusregexs) == 0 and len(minusregexs) == 0:
129  return
130 
131  for i, line in enumerate(self._diff):
132  if isinstance(line, _DiffResult):
133  raise Exception("highlightLines() is currently allowed only for text-only _DiffResult objects")
134  plus = False
135  minus = False
136  for p in plusregexs:
137  if p.search(line):
138  plus = True
139  break
140  for m in minusregexs:
141  if m.search(line):
142  plus = True
143  break
144  self._diff[i] = self._highlightLine(line, plus, minus)
def ntuplePrintersDiff._DiffResult.lines (   self)

Definition at line 145 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult._diff.

146  def lines(self):
147  for line in self._diff:
148  if isinstance(line, _DiffResult):
149  for l in line.lines():
150  yield l
151  else:
152  yield line
def ntuplePrintersDiff._DiffResult.setDifference (   self,
  diff = True 
)

Definition at line 92 of file ntuplePrintersDiff.py.

References ntuplePrintersDiff._DiffResult._hasDifference.

Referenced by ntuplePrintersDiff._DiffResult.extend().

92 
93  def setDifference(self, diff=True):
94  self._hasDifference = diff

Member Data Documentation

ntuplePrintersDiff._DiffResult._diff
private

Definition at line 88 of file ntuplePrintersDiff.py.

Referenced by ntuplePrintersDiff._DiffResult.__len__(), ntuplePrintersDiff._DiffResult.__str__(), ntuplePrintersDiff._DiffResult.highlight(), ntuplePrintersDiff._DiffResult.highlightLines(), and ntuplePrintersDiff._DiffResult.lines().

ntuplePrintersDiff._DiffResult._hasDifference
private

Definition at line 89 of file ntuplePrintersDiff.py.

Referenced by ntuplePrintersDiff._DiffResult.hasDifference(), and ntuplePrintersDiff._DiffResult.setDifference().