Asterisk - The Open Source Telephony Project  18.5.0
Public Member Functions
SpandspLog Class Reference

Public Member Functions

def __init__ (self, fp)
 
def __iter__ (self)
 

Detailed Description

Definition at line 193 of file spandspflow2pcap.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  fp 
)

Definition at line 194 of file spandspflow2pcap.py.

References SpandspLog._fp.

194  def __init__(self, fp):
195  self._fp = fp
196 

Member Function Documentation

◆ __iter__()

def __iter__ (   self)
Looks for lines line:

    [2013-08-07 15:17:34] FAX[23479] res_fax.c: \
      FLOW T.38 Rx     5: IFP c0 01 80 00 00 ff

And yields:

    IFP(date=..., seqno=..., data=...)

Definition at line 197 of file spandspflow2pcap.py.

References SpandspLog._fp, spandspflow2pcap.IFP, and spandspflow2pcap.n2b().

197  def __iter__(self):
198  r"""
199  Looks for lines line:
200 
201  [2013-08-07 15:17:34] FAX[23479] res_fax.c: \
202  FLOW T.38 Rx 5: IFP c0 01 80 00 00 ff
203 
204  And yields:
205 
206  IFP(date=..., seqno=..., data=...)
207  """
208  prev_seqno = None
209 
210  for lineno, line in enumerate(self._fp):
211  if 'FLOW T.38 Rx' not in line:
212  continue
213  if 'IFP' not in line:
214  continue
215 
216  match = search(r'(\d{4})-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)', line)
217  assert match
218  date = datetime(*[int(i) for i in match.groups()])
219 
220  match = search(r'Rx\s*(\d+):', line)
221  assert match
222  seqno = int(match.groups()[0])
223 
224  match = search(r': IFP ([0-9a-f ]+)', line)
225  assert match
226  data = n2b(match.groups()[0])
227 
228  if prev_seqno is not None:
229  # Expected all sequence numbers. But you can safely disable
230  # this check.
231  assert seqno == prev_seqno + 1, '%s+1 != %s' % (
232  seqno, prev_seqno)
233  pass
234  prev_seqno = seqno
235 
236  yield IFP(date=date, seqno=seqno, data=data)
237 
238 

The documentation for this class was generated from the following file: