[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdesupport/kdewin-installer/shared
From:       Ralf Habacker <Ralf.Habacker () freenet ! de>
Date:       2008-01-15 10:23:08
Message-ID: 1200392588.334293.2243.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 761679 by habacker:

- added support for site independent category/package relations
- added support for sourceforgemirror type 

 M  +34 -2     installerengine.cpp  


--- trunk/kdesupport/kdewin-installer/shared/installerengine.cpp #761678:761679
@@ -84,6 +84,21 @@
         m_packageResources->clear();
     addPackagesFromGlobalConfig();
     addPackagesFromSites();
+
+    // add site independend package category relations
+    QHash<QString, QStringList>::const_iterator i = \
m_globalConfig->categoryPackages().constBegin(); +    for (; i != \
m_globalConfig->categoryPackages().constEnd(); i++)  +    {
+        foreach (QString name,i.value())
+        {
+            Package *pkg = m_packageResources->getPackage(name);
+            if (pkg)
+            {
+                pkg->addCategories(i.key());
+                categoryCache.addPackage(pkg);
+            }
+        }
+    }
     m_addedPackages = true;
     m_initFinished = true;
 }
@@ -170,9 +185,26 @@
         packageList.setBaseURL(site->url());
 
         QByteArray ba;
-        m_downloader->start(site->url(), ba);
-        if (!packageList.readHTMLFromByteArray(ba,site->Type() == \
Site::ApacheModIndex ? PackageList::ApacheModIndex : PackageList::SourceForge, true \
)) +        if (!m_downloader->start(site->url(), ba))
         {
+            // @TODO: add gui message box
+            qCritical() << "failed to download site list" << site->url();
+            return false;
+        }
+        PackageList::Type type;
+
+        switch(site->Type()) {
+        case Site::SourceForge:    type = PackageList::SourceForge; break;
+        case Site::SourceForgeMirror: type = PackageList::SourceForgeMirror; break;
+        case Site::ApacheModIndex: type = PackageList::ApacheModIndex; break;
+        default:
+            qWarning() << "unknown Site type" << site->Type();
+            type = PackageList::ApacheModIndex;
+            break;
+        }
+
+        if (!packageList.readHTMLFromByteArray(ba, type, true ))
+        {
             qDebug() << "error reading package list from download html file";
             continue;
         }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic