vnews 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/vnews/display.rb +4 -2
- data/lib/vnews/feed.rb +2 -2
- data/lib/vnews/sql.rb +4 -4
- data/lib/vnews/version.rb +1 -1
- data/lib/vnews.vim +12 -11
- metadata +2 -2
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
|
136
|
-
|
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(
|
101
|
-
|
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
|
-
|
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
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:
|
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
|
384
|
-
let
|
385
|
-
|
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 " .
|
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
|
"------------------------------------------------------------------------
|