xunlei 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.md +15 -1
  2. data/lib/xunlei/engine.rb +30 -10
  3. data/lib/xunlei/version.rb +1 -1
  4. metadata +16 -16
data/README.md CHANGED
@@ -64,4 +64,18 @@ I am feeling lucky :)
64
64
 
65
65
  Pass --help to see more tasks and options
66
66
 
67
- xunlei --help
67
+ xunlei --help
68
+
69
+ Contributors:
70
+ -----------
71
+
72
+ Thanks following wonderful people for contributing to this project:
73
+
74
+ [@phil5](https://github.com/phil5)
75
+
76
+ Miscellaneous:
77
+ -----------
78
+
79
+ You might be also interested in this project:
80
+
81
+ Command line interface to linkz.im: [linkz_cli](https://github.com/forresty/linkz_cli)
data/lib/xunlei/engine.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  require "watir-webdriver"
2
3
 
3
4
  module Xunlei
@@ -34,6 +35,7 @@ module Xunlei
34
35
  def dump_tasks
35
36
  all_files = []
36
37
 
38
+ sleep 2
37
39
  begin
38
40
  all_files += process_current_page
39
41
  end while next_page
@@ -138,16 +140,34 @@ module Xunlei
138
140
  task_files = []
139
141
  task_div.a(:class => "rwbtn ic_open").when_present.click
140
142
 
141
- folder_list = @browser.div(:id => "rwbox_bt_list")
142
- folder_list.wait_until_present
143
-
144
- index = 0
145
- folder_list.spans(:class => "namelink").each do |span|
146
- s = span.spans.first
147
- size = folder_list.input(:id => "bt_size#{index}").attribute_value('value')
148
- task_files << { :name => s.title, :url => s.attribute_value('href'), :size => size }
149
- index += 1
150
- end
143
+ next_page_exists = false
144
+ begin
145
+ folder_list = @browser.div(:id => "rwbox_bt_list")
146
+ folder_list.wait_until_present
147
+
148
+ index = 0
149
+ folder_list.spans(:class => "namelink").each do |span|
150
+ s = span.spans.first
151
+ size = folder_list.input(:id => "bt_size#{index}").attribute_value('value')
152
+ task_files << { :name => s.title, :url => s.attribute_value('href'), :size => size }
153
+ index += 1
154
+ end
155
+ # to check if there is a next page
156
+ next_bt_link = @browser.a(:title => "下一页")
157
+ break unless next_bt_link.exists?
158
+
159
+ next_page_exists = next_bt_link.attribute_value("class") != "a_up"
160
+ @browser.execute_script next_bt_link.attribute_value("onclick")
161
+ time0 = Time.new
162
+ begin
163
+ if folder_list.spans(:class => "namelink").first.spans.first.title != @browser.div(:id => "rwbox_bt_list").spans(:class => "namelink").first.spans.first.title
164
+ break
165
+ end
166
+ rescue
167
+ break
168
+ end while next_page_exists && Time.now - time0 < 5
169
+ sleep 1
170
+ end while next_page_exists
151
171
 
152
172
  go_back_from_bt_task
153
173
 
@@ -1,3 +1,3 @@
1
1
  module Xunlei
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xunlei
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-13 00:00:00.000000000 Z
12
+ date: 2012-04-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70239281777520 !ruby/object:Gem::Requirement
16
+ requirement: &70260136889200 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70239281777520
24
+ version_requirements: *70260136889200
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70239281777100 !ruby/object:Gem::Requirement
27
+ requirement: &70260136888780 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70239281777100
35
+ version_requirements: *70260136888780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: simplecov
38
- requirement: &70239281776680 !ruby/object:Gem::Requirement
38
+ requirement: &70260136888360 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70239281776680
46
+ version_requirements: *70260136888360
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: watir-webdriver
49
- requirement: &70239281776260 !ruby/object:Gem::Requirement
49
+ requirement: &70260136887940 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70239281776260
57
+ version_requirements: *70260136887940
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: commander
60
- requirement: &70239281775840 !ruby/object:Gem::Requirement
60
+ requirement: &70260136887520 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70239281775840
68
+ version_requirements: *70260136887520
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
- requirement: &70239281775420 !ruby/object:Gem::Requirement
71
+ requirement: &70260136887100 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70239281775420
79
+ version_requirements: *70260136887100
80
80
  description: A browser script to access lixian.vip.xunlei.com tasks automatically
81
81
  email:
82
82
  - afu@forresty.com
@@ -116,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  segments:
118
118
  - 0
119
- hash: 534474635640399712
119
+ hash: -1510607744516824055
120
120
  required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  segments:
127
127
  - 0
128
- hash: 534474635640399712
128
+ hash: -1510607744516824055
129
129
  requirements: []
130
130
  rubyforge_project: xunlei
131
131
  rubygems_version: 1.8.11