Skip to content

Objects to work with RSS feeds and the Fever API

License

Notifications You must be signed in to change notification settings

brackendev/RSSTools-Pharo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RSSTools-Pharo

Objects to work with RSS feeds and the Fever API.

  • Pharo 8 reference platform.
  • Examples and tests included.

TODO

  • Support the latest Pharo release.

Installation

In a Pharo playground, Do it:

Metacello new 
  repository: 'github:https://brackendev/RSSTools-Pharo/src';
  baseline: 'RSSTools';
  load.

Example Usage

RSS Feeds

In a Playground, Do it:

RSSTools exampleCreateRSSFeedWithURL.
RSSTools exampleCreateRSSFeedWithXMLDocument.
RSSTools exampleXMLDocumentWithRSSFeed.
"Create RSS feed object from RSS 2.0 URL"
rssFeed := RSSTools createRSSFeedFor: 'https://gist.githubusercontent.com/brackendev/95b25e1b7128f326969eb5060f5d591c/raw/f7978c779bcb00aaa5a6551936e2387590cb303f/sample-rss-2.0-feed.xml'.

"Create RSS 2.0 XML from feed object"
RSSTools createXMLWith: rssFeed.
"Create RSS feed object"

items := OrderedCollection new.

rssFeedItem := RSSFeedItem new 
title: 'Item 1';
description: 'Item Description';
link: 'https://www.hostname.com/'.

items add: rssFeedItem.

rssFeedItem := RSSFeedItem new 
title: 'Item 2';
description: 'Item Description';
link: 'https://www.hostname.com/'.

items add: rssFeedItem.

rssFeedOptionalItems := RSSFeedOptionalItems new 
items: items.

rssFeedRequiredItems := RSSFeedRequiredItems new 
title: 'RSS Feed';
description: 'Feed Description';
link: 'https://www.hostname.com/'.

rssFeed := RSSTools createRSSFeedWith: rssFeedRequiredItems and: rssFeedOptionalItems.

"Create RSS 2.0 XML from feed object"
RSSTools createXMLWith: rssFeed.

Fever API

In a Playground, Do it:

"Create a Fever session"
feverSession := FeverSession sessionWith: 'domain.com' email: '[email protected]' password: 'password'.

"Retrieve feeds"
FeverTools retrieveFeedsFor: feverSession.

"Retrieve groups"
FeverTools retrieveGroupsFor: feverSession.

"Retrieve Hot Links"
FeverTools retrieveHotLinksFor: feverSession page: 1 days: 1.

"Retrieve items"
FeverTools retrieveItemsFor: feverSession.

Acknowledgements

This project makes use of the following third-party libraries:

Author

Bracken Spencer

License

RSSTools-Pharo is released under the MIT license. See the LICENSE file for more info.