[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/pim/krss/resource
From: Dmitry Ivanov <vonami () gmail ! com>
Date: 2008-06-22 19:52:21
Message-ID: 1214164341.036369.18342.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 823198 by divanov:
Refactor out helper functions
M +88 -84 rssresource.cpp
M +0 -1 rssresource.h
--- trunk/playground/pim/krss/resource/rssresource.cpp #823197:823198
@@ -41,6 +41,94 @@
using namespace Akonadi;
+// helper functions
+static inline KFeed::Item convertToKFeedItem(const Syndication::ItemPtr &syndItem)
+{
+ KFeed::Item kfeedItem;
+
+ kfeedItem.setStatus( KFeed::New );
+ //kfeedItem.setHash() // do i need to calc \
the hash value? + \
kfeedItem.setIdIsHash(syndItem->id().startsWith("hash:")); + \
//kfeedItem.setSourceFeedId(currentCollection().remoteId().toInt()); // kfeed \
supports only integer ids + kfeedItem.setTitle(syndItem->title());
+ kfeedItem.setLink(syndItem->link());
+ kfeedItem.setDescription(syndItem->description());
+ kfeedItem.setContent(syndItem->content());
+ KDateTime dt;
+ if ( syndItem->datePublished() > 0 ) {
+ dt.setTime_t(syndItem->datePublished());
+ kfeedItem.setDatePublished(dt);
+ }
+ else {
+ \
kfeedItem.setDatePublished(KDateTime::currentLocalDateTime()); + }
+ dt.setTime_t(syndItem->dateUpdated());
+ kfeedItem.setDateUpdated(dt);
+ kfeedItem.setId(syndItem->id());
+ kfeedItem.setLanguage(syndItem->language());
+ kfeedItem.setCommentsCount(syndItem->commentsCount());
+ kfeedItem.setCommentsLink(syndItem->commentsLink());
+ kfeedItem.setCommentsFeed(syndItem->commentsFeed());
+ kfeedItem.setCommentPostUri(syndItem->commentPostUri());
+
+ // Authors
+ QList<KFeed::Person> kfeedPersons;
+ Q_FOREACH(const Syndication::PersonPtr &pers, syndItem->authors()) {
+ if ( !pers->isNull() ) {
+ KFeed::Person kfeedPerson;
+ kfeedPerson.setName(pers->name());
+ kfeedPerson.setUri(pers->uri());
+ kfeedPerson.setEmail(pers->email());
+ kfeedPersons << kfeedPerson;
+ }
+ }
+ kfeedItem.setAuthors(kfeedPersons);
+
+ // Enclosures
+ QList<KFeed::Enclosure> kfeedEnclosures;
+ Q_FOREACH(const Syndication::EnclosurePtr &encl, \
syndItem->enclosures()) { + if ( !encl->isNull() ) {
+ KFeed::Enclosure kfeedEnclosure;
+ kfeedEnclosure.setUrl(encl->url());
+ kfeedEnclosure.setTitle(encl->title());
+ kfeedEnclosure.setType(encl->type());
+ kfeedEnclosure.setLength(encl->length());
+ kfeedEnclosure.setDuration(encl->duration());
+ kfeedEnclosures << kfeedEnclosure;
+ }
+ }
+ kfeedItem.setEnclosures(kfeedEnclosures);
+
+ // Categories
+ QList<KFeed::Category> kfeedCategories;
+ Q_FOREACH(const Syndication::CategoryPtr &cat, \
syndItem->categories()) { + if ( !cat->isNull() ) {
+ KFeed::Category kfeedCategory;
+ kfeedCategory.setTerm(cat->term());
+ kfeedCategory.setScheme(cat->scheme());
+ kfeedCategory.setLabel(cat->label());
+ kfeedCategories << kfeedCategory;
+ }
+ }
+ kfeedItem.setCategories(kfeedCategories);
+
+ // TODO: custom properties
+
+ return kfeedItem;
+}
+
+static QStringRef attributeValue( const QXmlStreamAttributes &attributes, const \
QString &name ) +{
+ Q_FOREACH( const QXmlStreamAttribute &attr, attributes ) {
+ if ( attr.name().toString().toLower() == name ) {
+ return attr.value();
+ }
+ }
+
+ return QStringRef();
+}
+
+// member functions
RssResource::RssResource(const QString &id)
:ResourceBase(id), m_fetchTries(0)
{
@@ -522,81 +610,6 @@
itemsRetrieved( itemList );
}
-KFeed::Item RssResource::convertToKFeedItem(const Syndication::ItemPtr &syndItem)
-{
- KFeed::Item kfeedItem;
-
- kfeedItem.setStatus( KFeed::New );
- //kfeedItem.setHash() // do i need to calc \
the hash value?
- kfeedItem.setIdIsHash(syndItem->id().startsWith("hash:"));
- kfeedItem.setSourceFeedId(currentCollection().remoteId().toInt());
- kfeedItem.setTitle(syndItem->title());
- kfeedItem.setLink(syndItem->link());
- kfeedItem.setDescription(syndItem->description());
- kfeedItem.setContent(syndItem->content());
- KDateTime dt;
- if ( syndItem->datePublished() > 0 ) {
- dt.setTime_t(syndItem->datePublished());
- kfeedItem.setDatePublished(dt);
- }
- else {
- \
kfeedItem.setDatePublished(KDateTime::currentLocalDateTime());
- }
- dt.setTime_t(syndItem->dateUpdated());
- kfeedItem.setDateUpdated(dt);
- kfeedItem.setId(syndItem->id());
- kfeedItem.setLanguage(syndItem->language());
- kfeedItem.setCommentsCount(syndItem->commentsCount());
- kfeedItem.setCommentsLink(syndItem->commentsLink());
- kfeedItem.setCommentsFeed(syndItem->commentsFeed());
- kfeedItem.setCommentPostUri(syndItem->commentPostUri());
-
- // Authors
- QList<KFeed::Person> kfeedPersons;
- Q_FOREACH(const Syndication::PersonPtr &pers, syndItem->authors()) {
- if ( !pers->isNull() ) {
- KFeed::Person kfeedPerson;
- kfeedPerson.setName(pers->name());
- kfeedPerson.setUri(pers->uri());
- kfeedPerson.setEmail(pers->email());
- kfeedPersons << kfeedPerson;
- }
- }
- kfeedItem.setAuthors(kfeedPersons);
-
- // Enclosures
- QList<KFeed::Enclosure> kfeedEnclosures;
- Q_FOREACH(const Syndication::EnclosurePtr &encl, \
syndItem->enclosures()) {
- if ( !encl->isNull() ) {
- KFeed::Enclosure kfeedEnclosure;
- kfeedEnclosure.setUrl(encl->url());
- kfeedEnclosure.setTitle(encl->title());
- kfeedEnclosure.setType(encl->type());
- kfeedEnclosure.setLength(encl->length());
- kfeedEnclosure.setDuration(encl->duration());
- kfeedEnclosures << kfeedEnclosure;
- }
- }
- kfeedItem.setEnclosures(kfeedEnclosures);
-
- // Categories
- QList<KFeed::Category> kfeedCategories;
- Q_FOREACH(const Syndication::CategoryPtr &cat, \
syndItem->categories()) {
- if ( !cat->isNull() ) {
- KFeed::Category kfeedCategory;
- kfeedCategory.setTerm(cat->term());
- kfeedCategory.setScheme(cat->scheme());
- kfeedCategory.setLabel(cat->label());
- kfeedCategories << kfeedCategory;
- }
- }
- kfeedItem.setCategories(kfeedCategories);
-
- // TODO: custom properties
-
- return kfeedItem;
-}
-
void RssResource::importOpml( const QString &path, const QString &defaultTag )
{
// load the opml to m_pendingCollections
@@ -718,16 +731,7 @@
}
}
-static QStringRef attributeValue( const QXmlStreamAttributes &attributes, const \
QString &name )
-{
- Q_FOREACH( const QXmlStreamAttribute &attr, attributes ) {
- if ( attr.name().toString().toLower() == name ) {
- return attr.value();
- }
- }
- return QStringRef();
-}
void RssResource::readOutline( QStringList &tags )
{
--- trunk/playground/pim/krss/resource/rssresource.h #823197:823198
@@ -80,7 +80,6 @@
void listCollections();
void fetchFeedContent( const QString &url );
void fetchFeedProperties( const QString &url );
- KFeed::Item convertToKFeedItem(const Syndication::ItemPtr &syndItem);
void loadOpml( const QString &path, const QString &defaultTag );
void readUnknownElement();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic