def _parse_fmdump_verbose(output):
 result = []
 output = output.split('\n')
 fault = []
 verbose_fault = {}
 for line in output:
  if line.startswith('TIME'):
   fault.append(line)
   if (len(verbose_fault) > 0):
    result.append(verbose_fault)
    verbose_fault = {}
  elif (len(fault) == 1):
   fault.append(line)
   verbose_fault = _parse_fmdump('\n'.join(fault))[0]
   fault = []
  elif (len(verbose_fault) > 0):
   if ('details' not in verbose_fault):
    verbose_fault['details'] = ''
   if (line.strip() == ''):
    continue
   verbose_fault['details'] = '{0}{1}\n'.format(verbose_fault['details'], line)
 if (len(verbose_fault) > 0):
  result.append(verbose_fault)
 return result

def _parse_fmdump_verbose ( output ) : result = [ ] output = output . split ( '\n' ) fault = [ ] verbose_fault = { } for line in output : if line . startswith ( 'TIME' ) : fault . append ( line ) if ( len ( verbose_fault ) > 0 ) : result . append ( verbose_fault ) verbose_fault = { } elif ( len ( fault ) == 1 ) : fault . append ( line ) verbose_fault = _parse_fmdump ( '\n' . join ( fault ) ) [ 0 ] fault = [ ] elif ( len ( verbose_fault ) > 0 ) : if ( 'details' not in verbose_fault ) : verbose_fault [ 'details' ] = '' if ( line . strip ( ) == '' ) : continue verbose_fault [ 'details' ] = '{0}{1}\n' . format ( verbose_fault [ 'details' ] , line ) if ( len ( verbose_fault ) > 0 ) : result . append ( verbose_fault ) return result
parses fmdump verbose output .