rutt 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.4
1
+ 0.6.0
data/bin/rutt CHANGED
@@ -75,6 +75,15 @@ def main
75
75
  exit
76
76
  end
77
77
 
78
+ opts.on('-k', '--kindle FEED', 'Export feed to kindle.') do |feed_id|
79
+ feed = {
80
+ 'id' => feed_id.to_i
81
+ }
82
+
83
+ Rutt::Share::Kindle.new(feed)
84
+
85
+ exit
86
+ end
78
87
  # opts.on('-l', '--list-feeds', action='store_true', help="List the feeds")
79
88
 
80
89
  end.parse!
@@ -7,5 +7,6 @@ require 'rutt/screen/feed'
7
7
  require 'rutt/screen/item'
8
8
  require 'rutt/screen/content'
9
9
  require 'rutt/share/instapaper'
10
+ require 'rutt/share/kindle'
10
11
  require 'rutt/opml'
11
12
 
@@ -26,6 +26,10 @@ module Rutt
26
26
  $db.execute("select * from items where feed_id = ? order by published_at desc", feed['id'])
27
27
  end
28
28
 
29
+ def unread(feed, limit=10)
30
+ $db.execute("select * from items where feed_id = ? and read = 0 order by published_at desc limit #{limit}", feed['id'])
31
+ end
32
+
29
33
  def mark_as_unread(item)
30
34
  $db.execute("update items set read = 0 where id = #{item['id']}")
31
35
  end
@@ -0,0 +1,28 @@
1
+ module Rutt
2
+ module Share
3
+ class Kindle
4
+ def initialize(feed)
5
+
6
+ items = Rutt::DB::Item.unread(feed)
7
+
8
+ # TODO: Should be name of feed
9
+ title = "rutt feed"
10
+
11
+ puts "<html><head><title>#{title}</title></head><body>"
12
+ puts "<h1>rutt feed</h1>"
13
+
14
+ items.each do |item|
15
+ puts "<mbp:pagebreak/>"
16
+ puts "<h2>#{item['title']}</h2>"
17
+ puts ::Readability::Document.new(open(item['url']).read).content
18
+ end
19
+ puts "</body></html>"
20
+
21
+ items.each do |item|
22
+ Rutt::DB::Item.mark_as_read(item)
23
+ end
24
+ end
25
+ end
26
+
27
+ end
28
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rutt}
8
- s.version = "0.5.4"
8
+ s.version = "0.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Abhi Yerra"]
12
- s.date = %q{2011-05-22}
12
+ s.date = %q{2011-05-29}
13
13
  s.default_executable = %q{rutt}
14
14
  s.description = %q{The Mutt of RSS/Atom feeds.}
15
15
  s.email = %q{abhi@berkeley.edu}
@@ -39,6 +39,7 @@ Gem::Specification.new do |s|
39
39
  "lib/rutt/screen/feed.rb",
40
40
  "lib/rutt/screen/item.rb",
41
41
  "lib/rutt/share/instapaper.rb",
42
+ "lib/rutt/share/kindle.rb",
42
43
  "rutt.gemspec",
43
44
  "spec/rutt_spec.rb",
44
45
  "spec/spec_helper.rb"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rutt
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 5
9
- - 4
10
- version: 0.5.4
8
+ - 6
9
+ - 0
10
+ version: 0.6.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Abhi Yerra
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-22 00:00:00 +00:00
18
+ date: 2011-05-29 00:00:00 +00:00
19
19
  default_executable: rutt
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -222,6 +222,7 @@ files:
222
222
  - lib/rutt/screen/feed.rb
223
223
  - lib/rutt/screen/item.rb
224
224
  - lib/rutt/share/instapaper.rb
225
+ - lib/rutt/share/kindle.rb
225
226
  - rutt.gemspec
226
227
  - spec/rutt_spec.rb
227
228
  - spec/spec_helper.rb