bilibili_console 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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(media_id, page_num = 1, page_size = 10, keyword = nil)
39
- set_api_http
40
- @fav.list_fav_video(media_id, page_num, page_size, keyword)
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.1
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-10-08 00:00:00.000000000 Z
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
- - bili-console
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/bili-console
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.22
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