xunlei 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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