[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