vnews 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/vnews/display.rb CHANGED
@@ -132,8 +132,10 @@ class Vnews
132
132
  @sqliteclient.star_item guid, false
133
133
  end
134
134
 
135
- def delete_item(guid)
136
- @sqliteclient.delete_item guid
135
+ def delete_items(*guids)
136
+ guids.each do |guid|
137
+ @sqliteclient.delete_item guid
138
+ end
137
139
  end
138
140
 
139
141
  def search_items(window_width, term)
data/lib/vnews/feed.rb CHANGED
@@ -41,10 +41,10 @@ class Vnews
41
41
  Vnews.sql_client.insert_feed(f[:meta][:title], feed_url, f[:meta][:link], folder)
42
42
  end
43
43
  f[:items].each do |item|
44
+ item[:pub_date] ||= Time.now
44
45
  if item[:guid].nil? || item[:guid].strip == ''
45
- item[:guid] = [f[:meta][:link], item[:link]].join("+")
46
+ item[:guid] = [ f[:meta][:link], item[:link], item[:pub_date] ].join("+")
46
47
  end
47
- item[:pub_date] ||= Time.now
48
48
  Vnews.sql_client.insert_item item.merge(:feed => feed_url, :feed_title => f[:meta][:title])
49
49
  $stderr.print "."
50
50
  end
data/lib/vnews/sql.rb CHANGED
@@ -97,8 +97,8 @@ class Vnews
97
97
  def feeds(order)
98
98
  if order == 0
99
99
  # "feeds.title asc"
100
- @client.query("SELECT feeds.*, count(*) as item_count from feeds
101
- inner join items i on i.feed = feeds.feed_url
100
+ @client.query("SELECT feeds.*, count(i.unread) as item_count from feeds
101
+ left outer join items i on i.feed = feeds.feed_url
102
102
  where i.unread = true
103
103
  group by feeds.feed_url
104
104
  order by feeds.title asc")
@@ -148,7 +148,7 @@ class Vnews
148
148
 
149
149
  "SELECT items.title, items.guid, items.feed,
150
150
  items.feed_title, items.pub_date, items.word_count, items.starred, items.unread from items
151
- inner join feeds_folders ff on ff.feed = items.feed
151
+ left join feeds_folders ff on ff.feed = items.feed
152
152
  where ff.folder = '#{e folder}' order by items.pub_date asc"
153
153
  end
154
154
  @client.query query
@@ -160,7 +160,7 @@ class Vnews
160
160
 
161
161
  if inc_read_count
162
162
  # increment the read count for the feed
163
- @client.query "UPDATE feeds set num_items_read = num_items_read + 1 where feed_url = (select feed from items where items.guid = '#{e guid}')"
163
+ @client.query "UPDATE feeds set num_items_read = num_items_read + 1 where feed_url = (select feed from items where items.guid = '#{e guid}' limit 1)"
164
164
  end
165
165
 
166
166
  query = "SELECT items.* from items where guid = '#{e guid}'"
data/lib/vnews/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  class Vnews
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
4
4
 
data/lib/vnews.vim CHANGED
@@ -19,7 +19,7 @@ let s:list_feed_items_command = s:client_script . 'feed_items '
19
19
  let s:show_item_command = s:client_script . 'show_item '
20
20
  let s:star_item_command = s:client_script . 'star_item ' " + guid star(bool)
21
21
  let s:unstar_item_command = s:client_script . 'unstar_item ' " + guid star(bool)
22
- let s:delete_item_command = s:client_script . 'delete_item ' " + guid
22
+ let s:delete_items_command = s:client_script . 'delete_items ' " + guids
23
23
  let s:search_items_command = s:client_script . 'search_items '
24
24
  let s:cat_items_command = s:client_script . 'cat_items '
25
25
 
@@ -378,20 +378,21 @@ endfunction
378
378
  "------------------------------------------------------------------------
379
379
  " DELETE ITEMS
380
380
 
381
- func! s:delete_item()
381
+ func! s:delete_item() range
382
382
  call s:focus_window(s:listbufnr)
383
- let uid = s:get_guid(line('.'))
384
- let command = s:delete_item_command . shellescape(uid)
385
- let res = system(command)
383
+ let lnum = a:firstline
384
+ let items = []
385
+ while lnum <= a:lastline
386
+ let guid = s:get_guid(lnum)
387
+ call add(items, shellescape(guid))
388
+ let lnum += 1
389
+ endwhile
390
+ let command = s:delete_items_command . join(items, ' ')
391
+ call system(command)
386
392
  setlocal modifiable
387
- exec "silent " . line('.') . "delete"
393
+ exec "silent " . a:firstline . "," . a:lastline . "delete"
388
394
  setlocal nomodifiable
389
- if winnr("$") > 1
390
- wincmd p
391
- close
392
- end
393
395
  redraw
394
- echom "Item ".uid." deleted"
395
396
  endfunc
396
397
 
397
398
  "------------------------------------------------------------------------
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 6
9
- version: 0.0.6
8
+ - 7
9
+ version: 0.0.7
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Choi