Added spliting dict page to multiple dict objects
authorBartosz Szatkowski <bulislaw@linux.com>
Tue, 28 Sep 2010 09:37:44 +0000 (11:37 +0200)
committerBartosz Szatkowski <bulislaw@linux.com>
Tue, 28 Sep 2010 09:37:44 +0000 (11:37 +0200)
src/plugins/xdxf/XdxfDictDownloader.cpp
src/plugins/xdxf/xdxfplugin.cpp

index b7acba9..7c8480d 100644 (file)
@@ -40,12 +40,27 @@ void XdxfDictDownloader::download(QWidget *parent) {
 
     manager->get(QNetworkRequest(QUrl("http://xdxf.revdanica.com/down/")));
 
-    XdxfDictSelectDialog selectDialog(parent);
+    //XdxfDictSelectDialog selectDialog(parent);
 
-    selectDialog.exec();
+    //selectDialog.exec();
 }
 
 
 void XdxfDictDownloader::dictListReceived(QNetworkReply *reply) {
+    QString page(QString::fromUtf8(reply->readAll()));
+    QRegExp regOuter("<td>Icon</td><td>Name</td><td>Archive filename</td><td>Archive file size</td><td>Dict file size</td><td>Number of articles</td><td>From</td><td>To</td><td>Submitted by</td><td>Submition date</td></tr>(.*)</table>");
+    regOuter.setMinimal(true);
+    if(!regOuter.indexIn(page))
+        return;
+
+    page = regOuter.capturedTexts().at(1);
+    QRegExp regInner("<tr>.*</tr>");
+    regInner.setMinimal(true);
+    int pos = 0;
+    QStringList tmp;
+    while ((pos = regInner.indexIn(page, pos)) != -1) {
+        dicts.append(DownloadDict(regInner.cap(0)));
+        pos += regInner.matchedLength();
+    }
 
 }
index f46c5ff..05d1e91 100644 (file)
@@ -27,7 +27,7 @@
 #include <QDebug>
 #include "../../include/Notify.h"
 #include "DownloadDict.h"
-
+#include "XdxfDictDownloader.h"
 
 XdxfDictDownloader XdxfPlugin::dictDownloader;
 
@@ -35,6 +35,7 @@ XdxfPlugin::XdxfPlugin(QObject *parent) : CommonDictInterface(parent),
                     _langFrom(""), _langTo(""),_name(""), _infoNote("") {
 
     //DownloadDict a("<tr><td><img src=\"buf/comn_sdict05_bulg_comp/icon16.png\" alt=\"icon\" /></td><td align=\"center\">English-Bulgarian computer dictionary</td><td align=\"center\"><a href=\"http://downloads.sourceforge.net/xdxf/comn_sdict05_bulg_comp.tar.bz2\" target=\"_blank\">comn_sdict05_bulg_comp.tar.bz2</a></td><td align=\"right\">13,889</td><td align=\"right\">55,094</td><td align=\"right\">523</td><td align=\"center\">English</td><td align=\"center\">Bulgarian</td><td align=\"center\"><a href=\"http://xdxf.revdanica.com/\">Common XDXF</a></td><td align=\"center\">2006-04-23 23:34:40</td></tr>");
+    //dictDownloader.download(0);
 
 
     _settings = new Settings();