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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bffa0e0d28d2e9c7aa78faecb8d43c884f85ed22da0b852394950f9c8293f996
4
- data.tar.gz: 356b8db34ea4892193716b8373d782949efd63c9c67728ee3d35ca4328cbdfe7
3
+ metadata.gz: 4d3988be8542dd54a63ce19437ddeacaadffc6441e0a60dba93ad2c711fc5314
4
+ data.tar.gz: bf8779a96980fd881fb015d735771c781a97edb79baf2efba6ac08d5f9514cbb
5
5
  SHA512:
6
- metadata.gz: 88c98dd157029e0b81860405d834111bfc53b15205d1658740d5ae539ae677f87d0915f0e4e1e0d76888808785a10295dbe451394d45c0322475539c3bf3eb44
7
- data.tar.gz: d9d846644b97ea113f8dab060db53f566cab4de1e033a44a406cfa7f35f05a2ad95c3ff803f766ca254aa0e3213b537a9f8524f4d6963b14060bafed7b6fdb80
6
+ metadata.gz: 65430cb4f9e73525b257240a8cabea5da97cd901b752884864789e4ee9b162c7b48b58851c15446ad4b112f8e5384f67c5cf88cf21e33073b70a028654e00077
7
+ data.tar.gz: a2b69d87c91357ac7a7a7fef44fcb918faaec00a03251de7dd5bbb6fe16b40b587590056b9964cde9ef78849df8cfa20b5194e4af95770e67601440da2668d29
data/bin/lhj CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require "lhj/tools"
4
+ require 'lhj/lhj'
5
5
 
6
6
  Lhj::Command.run(ARGV)
@@ -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文件]
@@ -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
@@ -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 = @cli.ask('更新序号: '.green).strip.to_i
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 标签],
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require_relative "tools/version"
2
+ require_relative "version"
3
3
  require 'colored'
4
4
  require 'xcodeproj'
5
5
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lhj
4
- module Tools
5
- VERSION = "0.2.0"
6
- end
4
+ VERSION = '0.2.2'
7
5
  end
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.0
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-18 00:00:00.000000000 Z
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/tools.rb
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