scala-news-reader
rss/atom news reader in scala
git clone https://9o.is/git/scala-news-reader.git
EntriesEngine.scala
(608B)
1 package com.joereader.actor
2
3 import com.joereader._
4 import model._
5 import lib.rss._
6
7 import net.liftweb.common._
8
9 import dispatch._
10 import Defaults._
11
12 /**
13 * Maintains blog entries in memory.
14 * Fetch entries from here.
15 */
16 object EntriesEngine extends Logger {
17
18 def entries(blog: Blog): List[FeedEntry] =
19 blog.urlRss.get.head.entries.present
20
21 def find(blog: Box[Blog], guid: String): Box[FeedEntry] =
22 blog.map(_.urlRss.get.head.entry(guid)() match {
23 case Left(msg) =>
24 warn(msg)
25 Empty
26 case Right(entry) =>
27 entry
28 }) openOr (Empty ?~ "Blog is missing")
29
30 }