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 +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
|
"------------------------------------------------------------------------
|