Class: Niconico::Live::Client
- Inherits:
-
Object
- Object
- Niconico::Live::Client
show all
- Defined in:
- lib/niconico/live/client.rb,
lib/niconico/live/client/search_result.rb,
lib/niconico/live/client/search_filters.rb
Defined Under Namespace
Modules: SearchFilters
Classes: SearchResult
Instance Method Summary
collapse
Constructor Details
#initialize(agent) ⇒ Client
12
13
14
15
|
# File 'lib/niconico/live/client.rb', line 12
def initialize(agent)
@agent = agent
@api = API.new(agent)
end
|
Instance Method Details
#remove_timeshifts(ids) ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/niconico/live/client.rb', line 17
def remove_timeshifts(ids)
post_body = "delete=timeshift&confirm=#{Util::fetch_token(@agent)}"
if ids.size == 0
return
end
ids.each do |id|
id = Util::normalize_id(id, with_lv: false)
post_body += "&vid%5B%5D=#{id}"
end
@agent.post(
'http://live.nicovideo.jp/my.php',
post_body,
'Content-Type' => 'application/x-www-form-urlencoded'
)
end
|
#search(keyword, filters = []) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/niconico/live/client.rb', line 34
def search(keyword, filters = [])
filter = filters.join('+')
page = @agent.get(
'http://live.nicovideo.jp/search',
track: '',
sort: 'recent',
date: '',
kind: '',
keyword: keyword,
filter: filter
)
results_dom = page.at('.result_list')
items = results_dom.css('.result_item')
search_results = items.map do |item|
title_dom = item.at('.search_stream_title a')
next nil unless title_dom
id = title_dom.attr(:href).scan(/lv[\d]+/).first
title = title_dom.text.strip
description = item.at('.search_stream_description').text.strip
SearchResult.new(id, title, description)
end
search_results.compact
end
|