Skip to content

Commit

Permalink
Fix problem for notes without author.
Browse files Browse the repository at this point in the history
  • Loading branch information
Georg Alexander Bøe committed Oct 16, 2011
1 parent 93c4ae6 commit ffc7edd
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
7 changes: 6 additions & 1 deletion lib/kindleclippings/parser.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,12 @@ def parse_clipping(clipping)
first_line = lines[0].strip.scan(/^(.+) \((.+)\)$/i).first
second_line = lines[1].strip.scan(/^- (.+?) Loc. ([0-9-]*?) +\| Added on (.+)$/i).first

title, author = *first_line
if first_line.nil?
title = lines[0].strip
author = ""
else
title, author = *first_line
end
type, location, date = *second_line

content = lines[3..-1].join("")
Expand Down
13 changes: 13 additions & 0 deletions spec/parser_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,19 @@
clipping.content.should eql("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut hendrerit est semper erat fringilla aliquet. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed vel urna augue, et fermentum ante. Maecenas eget arcu id eros consectetur vulputate. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus ut sollicitudin orci. Donec in urna lacinia urna sodales posuere sit amet ut nulla. Duis quis quam et dolor dignissim accumsan. Vestibulum porttitor elit at dolor euismod dapibus scelerisque lacus porta. In vel egestas nunc. Curabitur dapibus iaculis enim eu mattis. Pellentesque quis justo eget ligula congue sagittis sit amet sit amet lorem. Ut augue eros, laoreet consectetur sagittis id, luctus quis dolor. Mauris porta, mauris sed gravida varius, enim enim iaculis felis, vitae blandit arcu orci sed nibh. Proin volutpat lobortis metus a dapibus. Fusce ac quam cursus lorem consequat aliquet. Nulla odio lectus, eleifend sit amet eleifend ac, eleifend quis diam. Mauris malesuada, odio eget hendrerit rhoncus, lectus odio laoreet arcu, ac mattis mi ante fringilla nibh.\n\nUt mauris turpis, cursus non interdum quis, porta vel augue. Pellentesque id ornare ipsum. Morbi vestibulum, purus id consequat molestie, eros lacus congue leo, a lacinia lectus velit nec augue. Aliquam erat volutpat. Cras consectetur porttitor leo sit amet pulvinar. Nunc dignissim justo non mauris eleifend tempus vel a augue. Curabitur accumsan, dui consequat consequat rhoncus, enim nisl lobortis neque, non placerat nulla sem ut leo. Vivamus turpis lacus, rhoncus vitae pellentesque ac, dignissim non lorem. Praesent ullamcorper nisi suscipit mi ornare suscipit. Maecenas pharetra urna quis ante vulputate ac congue lacus hendrerit. Nunc nunc lorem, convallis eget mollis sit amet, laoreet eu nunc.\n\nInteger ut eros ac tellus egestas tempus placerat et arcu. Nullam porttitor est eu purus commodo tempor. Nullam varius, lacus ut porttitor fringilla, nibh turpis molestie urna, at mattis quam felis sit amet libero. Duis orci sapien, tempus nec mattis id, congue sed turpis. Aenean accumsan, lectus in malesuada blandit, felis nisl consectetur lacus, sed vehicula urna diam placerat neque. Nulla porta orci at ante elementum commodo quis vulputate neque. Aliquam quis leo sit amet lacus mollis egestas. Vivamus ac massa nec felis consectetur tincidunt. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla facilisi. Nullam non dolor nisl, eu pretium est.")
end

it "should use the entire line as title if no author is available" do
input =<<EOF
Static Code Analysis and Code Contracts
- Note Loc. 1 | Added on Monday, August 29, 2011, 09:06 AM
This is a note.
EOF
clipping = @parser.send(:parse_clipping, input)

clipping.should_not be_nil
clipping.book_title.should eql("Static Code Analysis and Code Contracts")
clipping.author.should eql("")
end

end

Expand Down

0 comments on commit ffc7edd

Please sign in to comment.