lhj-tools 0.2.0 → 0.2.2

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 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