Chris@43: #include "logparser.h" Chris@43: Chris@43: #include Chris@43: #include Chris@43: Chris@43: LogParser::LogParser(QString text) : m_text(text) Chris@43: { Chris@43: m_text.replace("\r\n", "\n"); Chris@43: } Chris@43: Chris@43: QStringList LogParser::split() Chris@43: { Chris@43: return m_text.split("\n\n", QString::SkipEmptyParts); Chris@43: } Chris@43: Chris@43: LogList LogParser::parse() Chris@43: { Chris@43: LogList results; Chris@43: QRegExp re("^(\\w+):\\s+(.*)$"); Chris@43: QStringList entries = split(); Chris@43: foreach (QString entry, entries) { Chris@43: LogEntry dictionary; Chris@43: QStringList lines = entry.split('\n'); Chris@43: foreach (QString line, lines) { Chris@43: if (re.indexIn(line) == 0) { Chris@43: QString key = re.cap(1); Chris@43: QString value = re.cap(2); Chris@43: dictionary[key] = value; Chris@43: } Chris@43: } Chris@43: results.push_back(dictionary); Chris@43: } Chris@43: return results; Chris@43: }