lhj-tools 0.2.0 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/lhj +1 -1
- data/lib/lhj/command/oss/del.rb +6 -0
- data/lib/lhj/command/oss/download.rb +12 -0
- data/lib/lhj/command/oss/info.rb +6 -0
- data/lib/lhj/command/oss/list.rb +22 -3
- data/lib/lhj/command/oss/update_bucket.rb +10 -1
- data/lib/lhj/command/oss/upload.rb +10 -1
- data/lib/lhj/{tools.rb → lhj.rb} +1 -1
- data/lib/lhj/{tools/version.rb → version.rb} +1 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d3988be8542dd54a63ce19437ddeacaadffc6441e0a60dba93ad2c711fc5314
|
4
|
+
data.tar.gz: bf8779a96980fd881fb015d735771c781a97edb79baf2efba6ac08d5f9514cbb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65430cb4f9e73525b257240a8cabea5da97cd901b752884864789e4ee9b162c7b48b58851c15446ad4b112f8e5384f67c5cf88cf21e33073b70a028654e00077
|
7
|
+
data.tar.gz: a2b69d87c91357ac7a7a7fef44fcb918faaec00a03251de7dd5bbb6fe16b40b587590056b9964cde9ef78849df8cfa20b5194e4af95770e67601440da2668d29
|
data/bin/lhj
CHANGED
data/lib/lhj/command/oss/del.rb
CHANGED
@@ -7,6 +7,12 @@ module Lhj
|
|
7
7
|
class OSS < Command
|
8
8
|
class Del < OSS
|
9
9
|
|
10
|
+
self.description = <<~DESC
|
11
|
+
OSS删除 \n
|
12
|
+
提示删除的序号以,号分割多项下载项, 传入开始与结束的序号通过-号连接,可删除多项连接序号的文件\n
|
13
|
+
如 1,5,7-10,12-15 那么下载项为 [1,5,7,8,9,10,12,13,14,15]\n
|
14
|
+
DESC
|
15
|
+
|
10
16
|
def initialize(argv)
|
11
17
|
@cli = HighLine.new
|
12
18
|
super
|
@@ -8,6 +8,18 @@ module Lhj
|
|
8
8
|
class OSS < Command
|
9
9
|
class Download < OSS
|
10
10
|
|
11
|
+
self.arguments = [
|
12
|
+
CLAide::Argument.new(['--oss_key_file'], false, false)
|
13
|
+
]
|
14
|
+
|
15
|
+
self.description = <<~DESC
|
16
|
+
OSS下载,下载文件到当前shell的目录\n
|
17
|
+
提示的下载的序号以,号分割多项下载项, 传入开始与结束的序号通过-号连接,可下载多项连接序号的文件\n
|
18
|
+
如 1,5,7-10,12-15 那么下载项为 [1,5,7,8,9,10,12,13,14,15]\n
|
19
|
+
--oss_key_file oss key文件列表, 通过lhj oss list --save之后生成oss_key.yml文件, 保留需要下载的oss key,指定文件名oss_key.yml\n
|
20
|
+
如: --oss_key_file=oss_key.yml
|
21
|
+
DESC
|
22
|
+
|
11
23
|
def self.options
|
12
24
|
[
|
13
25
|
%w[--oss_key_file 本地下载的oss_key文件]
|
data/lib/lhj/command/oss/info.rb
CHANGED
@@ -6,6 +6,10 @@ module Lhj
|
|
6
6
|
class OSS < Command
|
7
7
|
class Info < OSS
|
8
8
|
|
9
|
+
self.description = <<-DESC
|
10
|
+
查看当前OSS Bucket的信息
|
11
|
+
DESC
|
12
|
+
|
9
13
|
def handle
|
10
14
|
puts '-------base-----------'
|
11
15
|
base_info
|
@@ -24,6 +28,8 @@ module Lhj
|
|
24
28
|
end
|
25
29
|
|
26
30
|
def base_info
|
31
|
+
puts Lhj::OSSConfig.oss_access_key_id
|
32
|
+
puts Lhj::OSSConfig.oss_access_key_secret
|
27
33
|
puts Lhj::OSSConfig.oss_endpoint
|
28
34
|
puts Lhj::OSSConfig.oss_bucket
|
29
35
|
end
|
data/lib/lhj/command/oss/list.rb
CHANGED
@@ -6,10 +6,25 @@ module Lhj
|
|
6
6
|
class OSS < Command
|
7
7
|
class List < OSS
|
8
8
|
|
9
|
+
self.arguments = [
|
10
|
+
CLAide::Argument.new(%(--save, --clear), false, false),
|
11
|
+
CLAide::Argument.new(%(--all_folder, --prefix, --marker), false, false)
|
12
|
+
]
|
13
|
+
|
14
|
+
self.description = <<-DESC
|
15
|
+
查看OSS对象列表
|
16
|
+
--save 保存文件oss_key.yml与oss_url.yml到当前目录
|
17
|
+
--clear 清空控制台输出,当oss数量较多时使用,配合save使用
|
18
|
+
--all_folder 则会添加 delimiter='/',只用于查看oss的目录结构
|
19
|
+
--prefix 添加oss的前缀过滤
|
20
|
+
--marker 会改oss key值,会输出key之后的oss列表
|
21
|
+
DESC
|
22
|
+
|
9
23
|
def self.options
|
10
24
|
[
|
11
25
|
%w[--save 保存文件],
|
12
26
|
%w[--clear 清空控制台输出],
|
27
|
+
%w[--all_folder 列出所有的子目录],
|
13
28
|
%w[--prefix 前缀过滤],
|
14
29
|
%w[--marker key之后的列表数据]
|
15
30
|
]
|
@@ -18,6 +33,7 @@ module Lhj
|
|
18
33
|
def initialize(argv)
|
19
34
|
@save = argv.flag?('save', false)
|
20
35
|
@clear = argv.flag?('clear', false)
|
36
|
+
@all_folder = argv.flag?('all_folder', false)
|
21
37
|
@prefix = argv.option('prefix')
|
22
38
|
@marker = argv.option('marker')
|
23
39
|
@current_path = argv.shift_argument || Dir.pwd
|
@@ -28,8 +44,10 @@ module Lhj
|
|
28
44
|
list_opts = {}
|
29
45
|
list_opts[:prefix] = @prefix if @prefix
|
30
46
|
list_opts[:marker] = @marker if @marker
|
47
|
+
list_opts[:delimiter] = '/' if @all_folder
|
31
48
|
objects = Lhj::OSS::Helper.instance.list(list_opts)
|
32
|
-
obj_keys = objects.map(&:key)
|
49
|
+
obj_keys = objects.map(&:key) unless @all_folder
|
50
|
+
obj_keys = objects.filter { |o| o.is_a?(String) } if @all_folder
|
33
51
|
save(obj_keys) if @save
|
34
52
|
print(obj_keys) unless @clear
|
35
53
|
end
|
@@ -38,14 +56,15 @@ module Lhj
|
|
38
56
|
obj_urls = obj_keys.map { |k| "#{Lhj::OSS::Helper.instance.url_path}/#{k}" }
|
39
57
|
FileUtils.chdir(@current_path) do
|
40
58
|
File.write('oss_key.yml', obj_keys.to_yaml)
|
41
|
-
File.write('oss_url.yml', obj_urls.to_yaml)
|
59
|
+
File.write('oss_url.yml', obj_urls.to_yaml) unless @all_folder
|
42
60
|
end
|
43
61
|
end
|
44
62
|
|
45
63
|
def print(obj_keys)
|
46
64
|
rows = []
|
47
65
|
obj_keys.each_with_index do |k, i|
|
48
|
-
path = "#{i}.#{Lhj::OSS::Helper.instance.url_path}/#{k}"
|
66
|
+
path = "#{i}.#{Lhj::OSS::Helper.instance.url_path}/#{k}" unless @all_folder
|
67
|
+
path = k if @all_folder
|
49
68
|
rows << [path]
|
50
69
|
end
|
51
70
|
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
|
@@ -10,9 +10,18 @@ module Lhj
|
|
10
10
|
class Upload < OSS
|
11
11
|
|
12
12
|
self.arguments = [
|
13
|
-
CLAide::Argument.new('tag', false)
|
13
|
+
CLAide::Argument.new('tag', false),
|
14
|
+
CLAide::Argument.new('oss_key', false)
|
14
15
|
]
|
15
16
|
|
17
|
+
self.description = <<~DESC
|
18
|
+
OSS上传,上传当前shell目录到oss服务 \n
|
19
|
+
提示的上传的序号以,号分割多项下载项, 传入开始与结束的序号通过-号连接,可上传多项连接序号的文件\n
|
20
|
+
如 1,5,7-10,12-15 那么下载项为 [1,5,7,8,9,10,12,13,14,15]\n
|
21
|
+
--tag 指定文件的前缀,如--tag=flutter 则文件为flutter/xx
|
22
|
+
--oss_key 指定oss key重命名默认oss key,默认oss key为文件名, 如--oss_key=aa.txt
|
23
|
+
DESC
|
24
|
+
|
16
25
|
def self.options
|
17
26
|
[
|
18
27
|
%w[--tag 标签],
|
data/lib/lhj/{tools.rb → lhj.rb}
RENAMED
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.2.
|
4
|
+
version: 0.2.2
|
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
|
@@ -390,8 +390,7 @@ files:
|
|
390
390
|
- lib/lhj/jenkins/exceptions.rb
|
391
391
|
- lib/lhj/jenkins/job.rb
|
392
392
|
- lib/lhj/jenkins/urihelper.rb
|
393
|
-
- lib/lhj/
|
394
|
-
- lib/lhj/tools/version.rb
|
393
|
+
- lib/lhj/lhj.rb
|
395
394
|
- lib/lhj/tree/directory_renderer.rb
|
396
395
|
- lib/lhj/tree/hash_walker.rb
|
397
396
|
- lib/lhj/tree/node.rb
|
@@ -407,6 +406,7 @@ files:
|
|
407
406
|
- lib/lhj/ui/implementations/shell.rb
|
408
407
|
- lib/lhj/ui/interface.rb
|
409
408
|
- lib/lhj/ui/ui.rb
|
409
|
+
- lib/lhj/version.rb
|
410
410
|
homepage:
|
411
411
|
licenses:
|
412
412
|
- MIT
|