kindleclippings 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -9,7 +9,7 @@ This library will parse these annotations/clippings and give you an array of rub
9
9
 
10
10
  To install kindleclippings just run
11
11
 
12
- % sudo gem install kindleclippings
12
+ % gem install kindleclippings
13
13
 
14
14
  ## Usage
15
15
 
@@ -52,9 +52,9 @@ You can retrieve only the annotationstypes you care about. After parsing, you ca
52
52
  clippings.highlights # All the highlights
53
53
  clippings.bookmarks # All the bookmarks
54
54
 
55
- #### Author and book title
55
+ #### Author, book title and date
56
56
 
57
- You can filter the results by author and booktitle by using the methods `by_author` and `by_book` on a `ClippingResult` object.
57
+ You can filter the results by author, book title or date by using the methods `by_author`, `by_book` and `by_date` on a `ClippingResult` object.
58
58
 
59
59
  require 'kindleclippings'
60
60
 
@@ -65,9 +65,12 @@ You can filter the results by author and booktitle by using the methods `by_auth
65
65
 
66
66
  clippings.by_book('Born to Run') # All annotations for the book Born to Run
67
67
 
68
+ clippings.by_date(Date.new(2011, 10, 1), Date.new(2011, 10, 31)) # All annotations for October 2011
69
+
68
70
  ## Contributors
69
71
 
70
72
  * Georg Alexander Bøe
71
73
  * Masatomo Nakano
72
74
  * brokensandals
73
75
  * fboucheros
76
+ * David Ramalho
@@ -3,24 +3,25 @@ module KindleClippings
3
3
  class Clipping
4
4
  require 'date'
5
5
 
6
- attr_accessor :book_title, :author, :type, :location, :added_on, :content
6
+ attr_accessor :book_title, :author, :type, :location, :added_on, :content, :page
7
7
 
8
8
  def initialize()
9
9
  end
10
10
 
11
- def initialize(title, author, type, location, added_on, content)
11
+ def initialize(title, author, type, location, added_on, content, page = "0")
12
12
  @book_title = title
13
13
  @author = author
14
14
  @type = type
15
15
  @location = location
16
16
  @added_on = DateTime.strptime(added_on, "%A, %B %d, %Y, %I:%M %p")
17
17
  @content = content
18
+ @page = page.to_i
18
19
  end
19
20
 
20
21
  def to_s
21
22
  "#{@book_title} (#{author})\n" +
22
- "- #{@type} Loc. #{@location} | Added on #{@added_on.strftime('%A, %B %d, %Y, %I:%M %p')}\n\n" +
23
+ "- #{@type} #{('on Page ' + @page.to_s + ' | ') if @page > 0}Loc. #{@location} | Added on #{@added_on.strftime('%A, %B %d, %Y, %I:%M %p')}\n\n" +
23
24
  "#{@content}"
24
25
  end
25
26
  end
26
- end
27
+ end
@@ -37,7 +37,7 @@ module KindleClippings
37
37
  end
38
38
 
39
39
  first_line = lines[0].strip.scan(/^(.+) \((.+)\)$/i).first
40
- second_line = lines[1].strip.scan(/^- (.+?) Loc. ([0-9-]*?) +\| Added on (.+)$/i).first
40
+ second_line = lines[1].strip.scan(/^- (.+?) (?:on page (\d+) \| |)Loc. ([0-9-]*?) +\| Added on (.+)$/i).first
41
41
 
42
42
  if first_line.nil?
43
43
  title = lines[0].strip
@@ -45,11 +45,11 @@ module KindleClippings
45
45
  else
46
46
  title, author = *first_line
47
47
  end
48
- type, location, date = *second_line
48
+ type, page, location, date = *second_line
49
49
 
50
50
  content = lines[3..-1].join("")
51
51
 
52
- Clipping.new(title, author, type.to_sym, location, date, content.strip)
52
+ Clipping.new(title, author, type.to_sym, location, date, content.strip, page)
53
53
  end
54
54
  end
55
55
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kindleclippings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-19 00:00:00.000000000Z
12
+ date: 2012-07-06 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70318572463620 !ruby/object:Gem::Requirement
16
+ requirement: &70213467946360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: 1.2.9
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70318572463620
24
+ version_requirements: *70213467946360
25
25
  description: A gem to parse Kindle's "My Clippings.txt" file into ruby objects.
26
26
  email: georg.boe@gmail.com
27
27
  executables: []