lhj-tools 0.1.99 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lhj/command/oss/list.rb +17 -5
- data/lib/lhj/command/oss/update_bucket.rb +10 -1
- data/lib/lhj/command/oss/upload.rb +2 -1
- data/lib/lhj/helper/oss_helper.rb +5 -2
- data/lib/lhj/tools/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f059ba0c12401b26f210d4e3d1215168516aeccae1a1b1799b5ce01d1b1846c
|
4
|
+
data.tar.gz: '01386ae62655563b81f2ae08f7a19fa3a3cfa664f7fcc0dab34f5ddeba3c70b2'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f62dae3e2bf5e873bb778e4a796b60bd9d9569bd8491dd30f4f5c42cba02f8860cfff798d8b578b7c0433684f6256320b2afaa6c5a6461ebd80198981cd458cc
|
7
|
+
data.tar.gz: fbebce23c7af7d7591a2788581d3e9f8df9672fc64b4bd428daf925d8ad883eb5dc658625a8924c2b6885b28ec48d028f3c3be84fbb2fafc932f655ba1739e73
|
data/lib/lhj/command/oss/list.rb
CHANGED
@@ -9,20 +9,31 @@ module Lhj
|
|
9
9
|
def self.options
|
10
10
|
[
|
11
11
|
%w[--save 保存文件],
|
12
|
-
%w[--clear 清空控制台输出]
|
12
|
+
%w[--clear 清空控制台输出],
|
13
|
+
%w[--all_folder 列出所有的子目录],
|
14
|
+
%w[--prefix 前缀过滤],
|
15
|
+
%w[--marker key之后的列表数据]
|
13
16
|
]
|
14
17
|
end
|
15
18
|
|
16
19
|
def initialize(argv)
|
17
20
|
@save = argv.flag?('save', false)
|
18
21
|
@clear = argv.flag?('clear', false)
|
22
|
+
@all_folder = argv.flag?('all_folder', false)
|
23
|
+
@prefix = argv.option('prefix')
|
24
|
+
@marker = argv.option('marker')
|
19
25
|
@current_path = argv.shift_argument || Dir.pwd
|
20
26
|
super
|
21
27
|
end
|
22
28
|
|
23
29
|
def handle
|
24
|
-
|
25
|
-
|
30
|
+
list_opts = {}
|
31
|
+
list_opts[:prefix] = @prefix if @prefix
|
32
|
+
list_opts[:marker] = @marker if @marker
|
33
|
+
list_opts[:delimiter] = '/' if @all_folder
|
34
|
+
objects = Lhj::OSS::Helper.instance.list(list_opts)
|
35
|
+
obj_keys = objects.map(&:key) unless @all_folder
|
36
|
+
obj_keys = objects.filter { |o| o.is_a?(String) } if @all_folder
|
26
37
|
save(obj_keys) if @save
|
27
38
|
print(obj_keys) unless @clear
|
28
39
|
end
|
@@ -31,14 +42,15 @@ module Lhj
|
|
31
42
|
obj_urls = obj_keys.map { |k| "#{Lhj::OSS::Helper.instance.url_path}/#{k}" }
|
32
43
|
FileUtils.chdir(@current_path) do
|
33
44
|
File.write('oss_key.yml', obj_keys.to_yaml)
|
34
|
-
File.write('oss_url.yml', obj_urls.to_yaml)
|
45
|
+
File.write('oss_url.yml', obj_urls.to_yaml) unless @all_folder
|
35
46
|
end
|
36
47
|
end
|
37
48
|
|
38
49
|
def print(obj_keys)
|
39
50
|
rows = []
|
40
51
|
obj_keys.each_with_index do |k, i|
|
41
|
-
path = "#{i}.#{Lhj::OSS::Helper.instance.url_path}/#{k}"
|
52
|
+
path = "#{i}.#{Lhj::OSS::Helper.instance.url_path}/#{k}" unless @all_folder
|
53
|
+
path = k if @all_folder
|
42
54
|
rows << [path]
|
43
55
|
end
|
44
56
|
table = Terminal::Table.new title: 'OSS List', headings: ['URL'], rows: rows
|
@@ -6,8 +6,15 @@ module Lhj
|
|
6
6
|
class OSS < Command
|
7
7
|
class UpdateBucket < OSS
|
8
8
|
|
9
|
+
def self.options
|
10
|
+
[
|
11
|
+
%w[--idx 最新bucket序号]
|
12
|
+
]
|
13
|
+
end
|
14
|
+
|
9
15
|
def initialize(argv)
|
10
16
|
@cli = HighLine.new
|
17
|
+
@idx = argv.option('idx')
|
11
18
|
super
|
12
19
|
end
|
13
20
|
|
@@ -16,8 +23,10 @@ module Lhj
|
|
16
23
|
return unless bucket_list.length.positive?
|
17
24
|
|
18
25
|
bucket_list.each_with_index { |k, i| puts "#{i}.#{k['name']}----#{k['location']}".yellow }
|
19
|
-
idx = @
|
26
|
+
idx = @idx.to_i if @idx
|
27
|
+
idx = @cli.ask('更新序号: '.green).strip.to_i unless @idx
|
20
28
|
bucket = bucket_list[idx]
|
29
|
+
puts "update: #{bucket['name']} -- #{bucket['location']}"
|
21
30
|
Lhj::OSSConfig.oss_endpoint = "#{bucket['location']}.aliyuncs.com"
|
22
31
|
Lhj::OSSConfig.oss_bucket = bucket['name']
|
23
32
|
Lhj::OSSConfig.save
|
@@ -41,8 +41,11 @@ module Lhj
|
|
41
41
|
@bucket.object_url(key, false)
|
42
42
|
end
|
43
43
|
|
44
|
-
|
45
|
-
|
44
|
+
# @bucket.list_objects({ prefix: 'tool/config' }) 前缀过滤
|
45
|
+
# @bucket.list_objects({ marker: 'code/README.md' }) 当前key之前后
|
46
|
+
# @bucket.list_objects({ delimiter: '/' }).filter { |o| o.is_a?(String) } 分割符, 获取所有目录结构
|
47
|
+
def list(opts = {})
|
48
|
+
@bucket.list_objects(opts)
|
46
49
|
end
|
47
50
|
|
48
51
|
# {bucket.name} #{bucket.location}
|
data/lib/lhj/tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lhj-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lihaijian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcodeproj
|