emergent-nicovideo 0.1.7 → 0.1.8.1

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,15 @@
1
+ 2009-05-18
2
+ * change adding mylist return value from self to VideoPage instance.
3
+
4
+ 2009-05-02
5
+ * added function of community information loader.
6
+
7
+ 2009-05-01 version 0.1.8
8
+
9
+ * added function of adding video to mylist (by id:yasuyuki)
10
+ * fixed getting tags (by id:yasuyuki)
11
+ * fixed method 'search', 'tagsearch', 'openlist'
12
+
1
13
  2008-10-09 version 0.1.7
2
14
 
3
15
  * fixed subtitle of Nicovideo (summer -> autumn)
data/config/hoe.rb CHANGED
@@ -62,7 +62,8 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
62
62
  p.changes = p.paragraphs_of("ChangeLog", 0..1).join("\\n\\n")
63
63
  #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
64
64
  p.extra_deps = [
65
- ['mechanize', '>=0.6.0']
65
+ ['mechanize', '>=0.9.2'],
66
+ ['json', '>=1.1.4']
66
67
  ]
67
68
  #p.spec_extras = {} # A hash of extra values to set in the gemspec.
68
69
  end
data/lib/nicovideo.rb CHANGED
@@ -18,3 +18,5 @@ require 'nicovideo/thumbnail'
18
18
  #require 'nicovideo/ichiba'
19
19
  #require 'nicovideo/feed'
20
20
 
21
+ require 'nicovideo/community/community_page'
22
+ require 'nicovideo/community/main'
@@ -105,6 +105,10 @@ module Nicovideo
105
105
  OpenList.new(@agent, video_id)
106
106
  end
107
107
 
108
+ def community(community_id)
109
+ Community::Main.new(@agent, community_id)
110
+ end
111
+
108
112
  def random()
109
113
  Random.new(@agent)
110
114
  end
@@ -41,7 +41,7 @@ module Nicovideo
41
41
  # added video isn't applied to rss immediately, so add video into list by hand.
42
42
  page = @page || get_page(@url)
43
43
  @videos << video_page
44
- return self
44
+ return video_page
45
45
  end
46
46
  raise ArgError if result_code["result"] == "duperror"
47
47
  raise StandardError
@@ -62,7 +62,7 @@ module Nicovideo
62
62
  private
63
63
  def parse(page)
64
64
  @rss = RSS::Parser.parse(page.body)
65
- @title = rss.channel.title.sub(/#{BASE_TITLE2+NICO_MYLIST} /, '')
65
+ @title = rss.channel.title.sub(/#{BASE_TITLE1}/,'').sub(/#{NICO_MYLIST} /, '')
66
66
  @user = rss.channel.managingEditor
67
67
  @description = rss.channel.description
68
68
 
@@ -61,24 +61,24 @@ module Nicovideo
61
61
 
62
62
  protected
63
63
  def parse(page)
64
- if page.body =~ /<strong>#{@video_id}<\/strong>を含む公開マイリストはありません。/
64
+ if page.body =~ /<strong.*?>#{@video_id}<\/strong> を登録している公開マイリストはありません。/
65
65
  @not_found = true
66
66
  raise NotFound
67
67
  end
68
68
 
69
- @total_size = page.search('//form[@name="sort"]//td[@class="TXT12"]//strong').first.inner_html.sub(/,/,'').to_i
69
+ @total_size = page.search('//div[@class="mb8p4"]//p[@class="TXT12"]//strong').first.inner_html.sub(/,/,'').to_i
70
70
 
71
71
  @has_next = false
72
72
  @has_prev = false
73
- respages = page/'//div[@class="mb16p4"]//p[@class="TXT12"]//a'
73
+ respages = page/'//div[@class="pagelink"]'
74
74
  puts_info respages.size
75
75
  respages.each {|r| puts_info r.inner_html }
76
76
  if respages.size > 0
77
77
  respages.each {|text|
78
- if text.inner_html =~ /前のページ/
78
+ if text.inner_html =~ /<a class="prevpage".*?>.*?戻る.*?<\/a>/
79
79
  @has_prev = true
80
80
  end
81
- if text.inner_html =~ /次のページ/
81
+ if text.inner_html =~ /<a class="nextpage".*?>.*?進む.*?<\/a>/
82
82
  @has_next = true
83
83
  end
84
84
  }
@@ -6,8 +6,8 @@ module Nicovideo
6
6
  NV_DEBUG_LEVEL = 0
7
7
 
8
8
  BASE_URL = 'http://www.nicovideo.jp'
9
- BASE_TITLE1 = '‐ニコニコ動画\(秋\)'.toutf8
10
- BASE_TITLE2 = 'ニコニコ動画\(秋\)‐'.toutf8
9
+ BASE_TITLE1 = '‐ニコニコ動画\(.*?\)'.toutf8
10
+ BASE_TITLE2 = 'ニコニコ動画\(.*?\)‐'.toutf8
11
11
 
12
12
  def initialize agent
13
13
  @agent = agent
@@ -68,19 +68,19 @@ module Nicovideo
68
68
  raise NotFound
69
69
  end
70
70
 
71
- @total_size = page.search('form[@name="sort"]//td[@class="TXT12"]//strong').first.inner_html.sub(/,/,'').to_i
71
+ @total_size = page.search('strong[@class="search_total"]').first.inner_html.sub(/,/,'').to_i
72
72
 
73
73
  @has_next = false
74
74
  @has_prev = false
75
- respages = page/'//div[@class="mb16p4"]//p[@class="TXT12"]//a'
75
+ respages = page/'//div[@class="pagelink"]'
76
76
  puts_info respages.size
77
77
  respages.each {|r| puts_info r.inner_html }
78
78
  if respages.size > 0
79
79
  respages.each {|text|
80
- if text.inner_html =~ /前のページ/
80
+ if text.inner_html =~ /<a class="prevpage".*?>.*?戻る.*?<\/a>/
81
81
  @has_prev = true
82
82
  end
83
- if text.inner_html =~ /次のページ/
83
+ if text.inner_html =~ /<a class="nextpage".*?>.*?進む.*?<\/a>/
84
84
  @has_next = true
85
85
  end
86
86
  }
@@ -2,7 +2,7 @@ module Nicovideo #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 7
5
+ TINY = 8
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -8,7 +8,8 @@ class TestNicovideoVideoPage < Test::Unit::TestCase
8
8
  @nv.login
9
9
 
10
10
  # @vid_valid = 'sm500873' # 閲覧可能(組曲)
11
- @vid_valid = 'sm2407057' # 閲覧可能(短い動画)
11
+ #@vid_valid = 'sm2407057' # 閲覧可能(短い動画)
12
+ @vid_valid = 'sm9' # 閲覧可能(短い動画)
12
13
  @vid_invalid = 'smfdsafd' # IDが間違っている
13
14
  @vid_notfound = 'sm500875' # 削除済み
14
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emergent-nicovideo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - emergent