holysugar-www-enbujyo 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.10
1
+ 0.1.11
data/lib/www/enbujyo.rb CHANGED
@@ -15,6 +15,7 @@ require 'www/enbujyo/deck'
15
15
  require 'www/enbujyo/location'
16
16
  require 'www/enbujyo/game'
17
17
  require 'www/enbujyo/my_movie'
18
+ require 'www/enbujyo/team_movie'
18
19
 
19
20
  #
20
21
  # SEGA の三国志大戦公式サイトへアクセスするライブラリ.
@@ -112,6 +113,11 @@ module WWW
112
113
  m.parse
113
114
  end
114
115
 
116
+ def team_movies
117
+ m = WWW::Enbujyo::TeamMovie.new(@agent)
118
+ m.parse
119
+ end
120
+
115
121
  def silent?
116
122
  end
117
123
 
@@ -18,6 +18,7 @@ module WWW
18
18
  attr_reader :url, :delete_url
19
19
  attr_reader :id
20
20
  attr_reader :game
21
+ attr_reader :yours
21
22
 
22
23
  def initialize(agent, info, game, max_download = 5)
23
24
  @agent = agent
@@ -39,7 +40,9 @@ module WWW
39
40
  when /受付中/ : :accepted
40
41
  when /エンコード中/ : :encoding
41
42
  else
42
- if info[:download_left].nil?
43
+ if info[:yours]
44
+ :yours
45
+ elsif info[:download_left].nil?
43
46
  :completed
44
47
  elsif info[:download_left] > 0
45
48
  :downloaded
@@ -56,7 +59,7 @@ module WWW
56
59
  @thumbnails = info[:thumbnails]
57
60
 
58
61
  @url = info[:url] || info[:purchase_url]
59
- @id = @url.scan(/u=(.*)/).to_s if @url
62
+ @id = Movie.url_to_id(@url) if @url
60
63
  @delete_url = info[:delete_url]
61
64
  end
62
65
 
@@ -69,7 +72,11 @@ module WWW
69
72
  when :completed
70
73
  download_completed(@url)
71
74
  when :downloaded
72
- download_downloaded(@url)
75
+ if /download-conf.html/ =~ @url
76
+ download_completed(@url)
77
+ else
78
+ download_downloaded(@url)
79
+ end
73
80
  else
74
81
  warn "Can't download this movie."
75
82
  return false
@@ -80,6 +87,10 @@ module WWW
80
87
  [:downloaded, :completed].include? @status
81
88
  end
82
89
 
90
+ def self.url_to_id(url)
91
+ url.scan(/u=(.*)/).to_s
92
+ end
93
+
83
94
  private
84
95
  def download_completed(url)
85
96
  page = @agent.auth_get url
@@ -0,0 +1,55 @@
1
+ require 'www/enbujyo/game'
2
+ require 'www/enbujyo/movie'
3
+ require 'activesupport'
4
+
5
+ module WWW
6
+ class Enbujyo
7
+ class TeamMovie
8
+ def initialize(agent)
9
+ @agent = agent
10
+ end
11
+
12
+ def parse
13
+ page = @agent.auth_get '/members/teambox/index.html'
14
+
15
+ movies_info_html = page.search('div.st_movie_info')
16
+ movies_info = movies_info_html.select{|div|
17
+ div.search('.st_movie_info_empty_image').empty?
18
+ }.collect do |div|
19
+ info = {}
20
+ info[:title] = div.search('div.st_movie_info_desc_battle_vs').text
21
+ date = div.search('div.st_movie_info_desc_battle_date span')
22
+ info[:date] = Time.parse(date[0].text)
23
+ info[:result] = date[1].text
24
+ info[:movie] = div.search('div.st_movie_info_desc_movie').text
25
+
26
+ div.search('div.st_movie_info_datetime_date').each do |d|
27
+ case d.text
28
+ when /公開日時: (20\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/
29
+ info[:published_at] = Time.parse($1)
30
+ when /残りダウンロード回数: (\d+)回/
31
+ info[:download_left] = $1.to_i
32
+ when /あなたの公開動画/
33
+ info[:yours] = true
34
+ end
35
+ end
36
+
37
+ info[:thumbnails] = div.search('div.st_movie_info_thumbnail_mini_all a/@href').collect(&:to_s)
38
+
39
+ if download = div.search('span.st_reserve_menu_download_l a/@href')[0]
40
+ info[:url] = (page.uri + download.to_s).to_s unless download.to_s.blank?
41
+ end
42
+
43
+ viewurl = div.search('span.st_reserve_menu_view_l a/@href')[0].to_s
44
+ id = Movie.url_to_id(viewurl)
45
+
46
+ game = Game.parse_replay(@agent, id)
47
+ Movie.new(@agent, info, game)
48
+ end
49
+
50
+ movies_info
51
+ end
52
+ end
53
+ end
54
+ end
55
+
data/www-enbujyo.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{www-enbujyo}
5
- s.version = "0.1.10"
5
+ s.version = "0.1.11"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["holysugar"]
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  "lib/www/enbujyo/movie.rb",
28
28
  "lib/www/enbujyo/my_movie.rb",
29
29
  "lib/www/enbujyo/player.rb",
30
+ "lib/www/enbujyo/team_movie.rb",
30
31
  "test/test_helper.rb",
31
32
  "test/www-enbujyo_test.rb",
32
33
  "www-enbujyo.gemspec"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: holysugar-www-enbujyo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - holysugar
@@ -37,6 +37,7 @@ files:
37
37
  - lib/www/enbujyo/movie.rb
38
38
  - lib/www/enbujyo/my_movie.rb
39
39
  - lib/www/enbujyo/player.rb
40
+ - lib/www/enbujyo/team_movie.rb
40
41
  - test/test_helper.rb
41
42
  - test/www-enbujyo_test.rb
42
43
  - www-enbujyo.gemspec