]> Git trees. - libqmvoc.git/commitdiff
Fix reading of vokabeln.de files (version 1 only)
authorFrederik Gladhorn <gladhorn@kde.org>
Wed, 24 Sep 2008 12:48:58 +0000 (12:48 +0000)
committerFrederik Gladhorn <gladhorn@kde.org>
Wed, 24 Sep 2008 12:48:58 +0000 (12:48 +0000)
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

index 38e3e0edfc17a99ea6d53557374efde7afa15217..343c2a11d5dcc804ef8654f1f490744b2337d8c0 100644 (file)
@@ -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;