From ede2bcd3a9dacd31e0b274b2591850dd15cf8b7d Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 2 Oct 2018 10:38:37 +0200 Subject: Skip unknown tokens of qhp files instead of raising an error Change-Id: Ie7f2d79aecdb28c2cb1af4a6462bcc28d683034f Reviewed-by: Karsten Heimrich --- src/assistant/qhelpgenerator/qhelpprojectdata.cpp | 29 +++++++++++++---------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/assistant/qhelpgenerator/qhelpprojectdata.cpp b/src/assistant/qhelpgenerator/qhelpprojectdata.cpp index 90bf75a5f..23419bfd9 100644 --- a/src/assistant/qhelpgenerator/qhelpprojectdata.cpp +++ b/src/assistant/qhelpgenerator/qhelpprojectdata.cpp @@ -75,16 +75,21 @@ private: void readTOC(); void readKeywords(); void readFiles(); - void raiseUnknownTokenError(); + void skipUnknownToken(); void addMatchingFiles(const QString &pattern); bool hasValidSyntax(const QString &nameSpace, const QString &vFolder) const; QMap dirEntriesCache; }; -void QHelpProjectDataPrivate::raiseUnknownTokenError() +void QHelpProjectDataPrivate::skipUnknownToken() { - raiseError(QCoreApplication::translate("QHelpProject", "Unknown token in file \"%1\".").arg(fileName)); + const QString message = QCoreApplication::translate("QHelpProject", + "Skipping unknown token <%1> in file \"%2\".") + .arg(name()).arg(fileName) + QLatin1Char('\n'); + fputs(qPrintable(message), stdout); + + skipCurrentElement(); } void QHelpProjectDataPrivate::readData(const QByteArray &contents) @@ -139,7 +144,7 @@ void QHelpProjectDataPrivate::readProject() metaData.insert(n, attributes(). value(QLatin1String("value")).toString()); } else { - raiseUnknownTokenError(); + skipUnknownToken(); } } else if (isEndElement() && name() == QLatin1String("QtHelpProject")) { if (namespaceName.isEmpty()) @@ -163,7 +168,7 @@ void QHelpProjectDataPrivate::readCustomFilter() if (name() == QLatin1String("filterAttribute")) filter.filterAttributes.append(readElementText()); else - raiseUnknownTokenError(); + skipUnknownToken(); } else if (isEndElement() && name() == QLatin1String("customFilter")) { break; } @@ -186,7 +191,7 @@ void QHelpProjectDataPrivate::readFilterSection() else if (name() == QLatin1String("files")) readFiles(); else - raiseUnknownTokenError(); + skipUnknownToken(); } else if (isEndElement() && name() == QLatin1String("filterSection")) { break; } @@ -211,7 +216,7 @@ void QHelpProjectDataPrivate::readTOC() } contentStack.push(itm); } else { - raiseUnknownTokenError(); + skipUnknownToken(); } } else if (isEndElement()) { if (name() == QLatin1String("section")) { @@ -220,7 +225,7 @@ void QHelpProjectDataPrivate::readTOC() } else if (name() == QLatin1String("toc") && contentStack.isEmpty()) { return; } else { - raiseUnknownTokenError(); + skipUnknownToken(); } } } @@ -254,7 +259,7 @@ void QHelpProjectDataPrivate::readKeywords() filterSectionList.last() .addIndex(QHelpDataIndexItem(nameAttribute, idAttribute, refAttribute)); } else { - raiseUnknownTokenError(); + skipUnknownToken(); } } else if (isEndElement()) { if (name() == QLatin1String("keyword")) @@ -262,7 +267,7 @@ void QHelpProjectDataPrivate::readKeywords() else if (name() == QLatin1String("keywords")) return; else - raiseUnknownTokenError(); + skipUnknownToken(); } } } @@ -275,14 +280,14 @@ void QHelpProjectDataPrivate::readFiles() if (name() == QLatin1String("file")) addMatchingFiles(readElementText()); else - raiseUnknownTokenError(); + skipUnknownToken(); } else if (isEndElement()) { if (name() == QLatin1String("file")) continue; else if (name() == QLatin1String("files")) return; else - raiseUnknownTokenError(); + skipUnknownToken(); } } } -- cgit v1.2.3