bilibili_console 0.0.1 → 0.0.3
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.
- checksums.yaml +4 -4
- data/.bundle/config +2 -2
- data/.gitignore +4 -3
- data/Gemfile +10 -10
- data/Gemfile.lock +3 -9
- data/LICENSE +20 -20
- data/README.md +106 -75
- data/Rakefile +11 -11
- data/bilibili_console.gemspec +21 -21
- data/bin/banner.txt +9 -9
- data/bin/bilic +123 -0
- data/lib/bilibili_console/api.rb +30 -0
- data/lib/bilibili_console/base.rb +109 -109
- data/lib/bilibili_console/fav.rb +154 -147
- data/lib/bilibili_console/http/http.rb +75 -75
- data/lib/bilibili_console/http/response_body.rb +28 -28
- data/lib/bilibili_console/login.rb +103 -102
- data/lib/bilibili_console/manga.rb +24 -24
- data/lib/bilibili_console/version.rb +10 -10
- data/lib/bilibili_console/video.rb +193 -123
- data/lib/bilibili_console.rb +69 -69
- data/rubocop.yml +1 -1
- metadata +9 -36
- data/bin/bili-console +0 -63
data/lib/bilibili_console.rb
CHANGED
@@ -1,69 +1,69 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'bilibili_console/http/http'
|
4
|
-
require_relative 'bilibili_console/login'
|
5
|
-
require_relative 'bilibili_console/fav'
|
6
|
-
require_relative 'bilibili_console/video'
|
7
|
-
require_relative 'bilibili_console/manga'
|
8
|
-
|
9
|
-
# bilibili console main class
|
10
|
-
class BilibiliConsole
|
11
|
-
attr_accessor :http_client, :bilibili_login, :user, :fav, :video, :manga
|
12
|
-
|
13
|
-
def initialize
|
14
|
-
@http_client = BiliHttp::HttpClient.new
|
15
|
-
@bilibili_login = Bilibili::Login.new(@http_client)
|
16
|
-
@fav = Bilibili::Fav.new(@http_client)
|
17
|
-
@video = Bilibili::Video.new(@http_client)
|
18
|
-
@manga = Bilibili::Manga.new(@http_client)
|
19
|
-
end
|
20
|
-
|
21
|
-
def login
|
22
|
-
set_login_http
|
23
|
-
@bilibili_login.login
|
24
|
-
end
|
25
|
-
|
26
|
-
def login_user_info
|
27
|
-
set_login_http
|
28
|
-
set_api_http
|
29
|
-
@bilibili_login.login_user_info
|
30
|
-
end
|
31
|
-
|
32
|
-
def user_fav_list
|
33
|
-
@user = login_user_info if @user.nil?
|
34
|
-
set_api_http
|
35
|
-
@fav.list_user_fav_video(@user)
|
36
|
-
end
|
37
|
-
|
38
|
-
def list_fav_video(
|
39
|
-
set_api_http
|
40
|
-
@fav.list_fav_video(
|
41
|
-
end
|
42
|
-
|
43
|
-
def download_video(bv_id)
|
44
|
-
set_api_http
|
45
|
-
@video.download_video_by_bv(bv_id)
|
46
|
-
end
|
47
|
-
|
48
|
-
def manga_checkin
|
49
|
-
set_manga_http
|
50
|
-
@manga.check_in
|
51
|
-
end
|
52
|
-
|
53
|
-
private
|
54
|
-
|
55
|
-
def set_login_http
|
56
|
-
@http_client.login_http = NiceHttp.new('https://passport.bilibili.com')
|
57
|
-
@http_client.login_http.cookies = @bilibili_login.load_cookie
|
58
|
-
end
|
59
|
-
|
60
|
-
def set_api_http
|
61
|
-
@http_client.api_http = NiceHttp.new('https://api.bilibili.com')
|
62
|
-
@http_client.api_http.cookies = @bilibili_login.load_cookie
|
63
|
-
end
|
64
|
-
|
65
|
-
def set_manga_http
|
66
|
-
@http_client.manga_http = NiceHttp.new('https://manga.bilibili.com')
|
67
|
-
@http_client.manga_http.cookies = @bilibili_login.load_cookie
|
68
|
-
end
|
69
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'bilibili_console/http/http'
|
4
|
+
require_relative 'bilibili_console/login'
|
5
|
+
require_relative 'bilibili_console/fav'
|
6
|
+
require_relative 'bilibili_console/video'
|
7
|
+
require_relative 'bilibili_console/manga'
|
8
|
+
|
9
|
+
# bilibili console main class
|
10
|
+
class BilibiliConsole
|
11
|
+
attr_accessor :http_client, :bilibili_login, :user, :fav, :video, :manga
|
12
|
+
|
13
|
+
def initialize
|
14
|
+
@http_client = BiliHttp::HttpClient.new
|
15
|
+
@bilibili_login = Bilibili::Login.new(@http_client)
|
16
|
+
@fav = Bilibili::Fav.new(@http_client)
|
17
|
+
@video = Bilibili::Video.new(@http_client)
|
18
|
+
@manga = Bilibili::Manga.new(@http_client)
|
19
|
+
end
|
20
|
+
|
21
|
+
def login
|
22
|
+
set_login_http
|
23
|
+
@bilibili_login.login
|
24
|
+
end
|
25
|
+
|
26
|
+
def login_user_info
|
27
|
+
set_login_http
|
28
|
+
set_api_http
|
29
|
+
@bilibili_login.login_user_info
|
30
|
+
end
|
31
|
+
|
32
|
+
def user_fav_list
|
33
|
+
@user = login_user_info if @user.nil?
|
34
|
+
set_api_http
|
35
|
+
@fav.list_user_fav_video(@user)
|
36
|
+
end
|
37
|
+
|
38
|
+
def list_fav_video(options)
|
39
|
+
set_api_http
|
40
|
+
@fav.list_fav_video(options)
|
41
|
+
end
|
42
|
+
|
43
|
+
def download_video(bv_id, options)
|
44
|
+
set_api_http
|
45
|
+
@video.download_video_by_bv(bv_id, options)
|
46
|
+
end
|
47
|
+
|
48
|
+
def manga_checkin
|
49
|
+
set_manga_http
|
50
|
+
@manga.check_in
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def set_login_http
|
56
|
+
@http_client.login_http = NiceHttp.new('https://passport.bilibili.com')
|
57
|
+
@http_client.login_http.cookies = @bilibili_login.load_cookie
|
58
|
+
end
|
59
|
+
|
60
|
+
def set_api_http
|
61
|
+
@http_client.api_http = NiceHttp.new('https://api.bilibili.com')
|
62
|
+
@http_client.api_http.cookies = @bilibili_login.load_cookie
|
63
|
+
end
|
64
|
+
|
65
|
+
def set_manga_http
|
66
|
+
@http_client.manga_http = NiceHttp.new('https://manga.bilibili.com')
|
67
|
+
@http_client.manga_http.cookies = @bilibili_login.load_cookie
|
68
|
+
end
|
69
|
+
end
|
data/rubocop.yml
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
Style/FrozenStringLiteralComment:
|
1
|
+
Style/FrozenStringLiteralComment:
|
2
2
|
Enabled: false
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bilibili_console
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- leejoker
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: down
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '5.0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '5.0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: nice_http
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +38,6 @@ dependencies:
|
|
52
38
|
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '2.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: ruby-progressbar
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.11.0
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 1.11.0
|
69
41
|
- !ruby/object:Gem::Dependency
|
70
42
|
name: thor
|
71
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,7 +55,7 @@ dependencies:
|
|
83
55
|
description: a console tool for bilibili
|
84
56
|
email: 1056650571@qq.com
|
85
57
|
executables:
|
86
|
-
-
|
58
|
+
- bilic
|
87
59
|
extensions: []
|
88
60
|
extra_rdoc_files:
|
89
61
|
- README.md
|
@@ -98,8 +70,9 @@ files:
|
|
98
70
|
- Rakefile
|
99
71
|
- bilibili_console.gemspec
|
100
72
|
- bin/banner.txt
|
101
|
-
- bin/
|
73
|
+
- bin/bilic
|
102
74
|
- lib/bilibili_console.rb
|
75
|
+
- lib/bilibili_console/api.rb
|
103
76
|
- lib/bilibili_console/base.rb
|
104
77
|
- lib/bilibili_console/fav.rb
|
105
78
|
- lib/bilibili_console/http/http.rb
|
@@ -114,7 +87,7 @@ homepage: https://github.com/leejoker/bilibili-console
|
|
114
87
|
licenses:
|
115
88
|
- MIT
|
116
89
|
metadata: {}
|
117
|
-
post_install_message:
|
90
|
+
post_install_message:
|
118
91
|
rdoc_options: []
|
119
92
|
require_paths:
|
120
93
|
- lib
|
@@ -129,8 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
102
|
- !ruby/object:Gem::Version
|
130
103
|
version: '0'
|
131
104
|
requirements: []
|
132
|
-
rubygems_version: 3.2.
|
133
|
-
signing_key:
|
105
|
+
rubygems_version: 3.2.32
|
106
|
+
signing_key:
|
134
107
|
specification_version: 4
|
135
108
|
summary: bilibili console
|
136
109
|
test_files: []
|
data/bin/bili-console
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'thor'
|
4
|
-
require 'bilibili_console'
|
5
|
-
|
6
|
-
# bilibili-console command line
|
7
|
-
class BiliConsole < Thor
|
8
|
-
def self.exit_on_failure?
|
9
|
-
true
|
10
|
-
end
|
11
|
-
|
12
|
-
desc 'help', 'help content'
|
13
|
-
def help
|
14
|
-
banner = File.read(File.expand_path('banner.txt', __dir__))
|
15
|
-
puts <<~HELP
|
16
|
-
#{banner}
|
17
|
-
|
18
|
-
Usage: bili-console [arguments]
|
19
|
-
help help messages
|
20
|
-
login qrcode login
|
21
|
-
user user info
|
22
|
-
manga bilibili manga checkin
|
23
|
-
HELP
|
24
|
-
end
|
25
|
-
|
26
|
-
desc 'login', 'login with qrcode'
|
27
|
-
def login
|
28
|
-
bc = BilibiliConsole.new
|
29
|
-
puts bc.login
|
30
|
-
end
|
31
|
-
|
32
|
-
desc 'user', 'get user info'
|
33
|
-
def user
|
34
|
-
bc = BilibiliConsole.new
|
35
|
-
user = bc.login_user_info
|
36
|
-
puts <<~USER
|
37
|
-
uid: #{user.uid}
|
38
|
-
uname: #{user.uname}
|
39
|
-
level: #{user.level_info[:current_level]}
|
40
|
-
USER
|
41
|
-
end
|
42
|
-
|
43
|
-
desc 'manga', 'checkin bilibili manga'
|
44
|
-
def manga_checkin
|
45
|
-
bc = BilibiliConsole.new
|
46
|
-
bc.manga.load_cookie
|
47
|
-
body = bc.manga_checkin
|
48
|
-
if body.code == 'invalid_argument'
|
49
|
-
puts '您已经签到了'
|
50
|
-
else
|
51
|
-
puts '签到成功'
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
desc 'down', 'download video by bv code'
|
56
|
-
def download_video(bv_id)
|
57
|
-
bc = BilibiliConsole.new
|
58
|
-
bc.video.load_cookie
|
59
|
-
bc.download_video(bv_id)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
BiliConsole.start
|