From 6edafab08051afc364de4cb759b069b00cadf4ff Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 24 Sep 2008 12:48:58 +0000 Subject: [PATCH] Fix reading of vokabeln.de files (version 1 only) Add some verbose debug output to easier find errors for these obscure formats in the future. BUG: 165088 svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=864311 --- keduvocdocument/keduvocvokabelnreader.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/keduvocdocument/keduvocvokabelnreader.cpp b/keduvocdocument/keduvocvokabelnreader.cpp index 38e3e0e..343c2a1 100644 --- a/keduvocdocument/keduvocvokabelnreader.cpp +++ b/keduvocdocument/keduvocvokabelnreader.cpp @@ -42,6 +42,7 @@ KEduVocVokabelnReader::KEduVocVokabelnReader( QIODevice *file ) bool KEduVocVokabelnReader::readDoc( KEduVocDocument *doc ) { + kDebug() << "Reading vokabeln.de document..."; m_doc = doc; m_doc->setAuthor( "http://www.vokabeln.de" ); @@ -103,11 +104,16 @@ bool KEduVocVokabelnReader::readDoc( KEduVocDocument *doc ) languages = lang1.split( "\"," ); m_doc->appendIdentifier(); - m_doc->identifier(0).setLocale( languages[0].mid( 1 ) ); - m_doc->identifier(0).setName( languages[0].mid( 1 ) ); + QString language = languages[0].mid( 1 ); + m_doc->identifier(0).setLocale(language); + m_doc->identifier(0).setName(language); + kDebug() << "First language: " << language; + m_doc->appendIdentifier(); - m_doc->identifier(1).setLocale( languages[1].mid( 1 ) ); - m_doc->identifier(1).setName( languages[1].mid( 1 ) ); + language = languages[1].mid( 1 ); + m_doc->identifier(1).setLocale(language); + m_doc->identifier(1).setName(language); + kDebug() << "Second language: " << language; while ( !temp.contains("8. Lernhilfe") ) { temp = inputStream.readLine(); //DO NOT translate @@ -136,14 +142,18 @@ bool KEduVocVokabelnReader::readDoc( KEduVocDocument *doc ) translation = words[1].mid( 1 ); lessonNumber = words[2].toInt() - 1; + kDebug() << "Reading entry: " << original << " - " << translation << " Lesson: " << lessonNumber; + // fallback if it's not read correctly if (lessonNumber < 0) { + kDebug() << "Warning, invalid lesson found!"; lessonNumber = 0; } - while(m_doc->lesson()->childContainerCount() < lessonNumber) { + while(m_doc->lesson()->childContainerCount() <= lessonNumber) { KEduVocLesson* lesson = new KEduVocLesson(i18n("Lesson %1", lessonNumber), m_doc->lesson()); m_doc->lesson()->appendChildContainer(lesson); + kDebug() << "Created lesson " << lessonNumber; } KEduVocExpression* kve = new KEduVocExpression; -- 2.47.3