[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