lhj-tools 0.1.27 → 0.1.30

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: 30a31460c814e1615aaefd473d2553acb40523e966f00ee37872db81d06466e0
4
- data.tar.gz: d6f3348a4ce8c2a77e2a3d9e8ad6ce6393cbc4ae04b9c39d3c7cd31e19b5e45b
3
+ metadata.gz: d687a5f900925541da6435425f42e505ff3d80abcab177e1c5a619082da05b6a
4
+ data.tar.gz: 593fcf17a101528199b43cc9905865e94d185ba687e81f2733623a99c512981c
5
5
  SHA512:
6
- metadata.gz: 1d722e7e3e748415b3a63e912940a2f5b84e5b4e4d7e87095a52e93204971851c9fa5decc5749d51e3b6ddafd23818844d9bb3090498b60239da0962c6a390ec
7
- data.tar.gz: 22eb054aa18a58b9b926d55af8a76419efbc82569eb60cf4a34c1f5aa8ce6630b1de9545916c1dc6a132edbd9606a838d1fbf602f111426e1f622a3dd67cf328
6
+ metadata.gz: b4d2b8d1da73e9a0906501f26a419a7f7bde4195d428bd30b2c2e119d2c18882430e69015dacc9e88e1dc1a5c50ae986201cec584213230bc5c298bbe0331423
7
+ data.tar.gz: 1f1d936c41971b3ab3214c8eea90c49cbac6931e8c4b8174a11ae083d09cab9ad4ee0b3c05f718545d9763ffd07bb4b15c67f2c750bfa8a4dd2b8d53c1610ae0
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+ require 'csv'
3
+
4
+ module Lhj
5
+ class Command
6
+ class DuplicateImageset < Command
7
+ self.summary = '查找重复的图片资源'
8
+
9
+ def initialize(argv)
10
+ @current_path = argv.shift_argument || Dir.pwd
11
+ super
12
+ end
13
+
14
+ def handle
15
+ write_to_file
16
+ end
17
+
18
+ def write_to_file
19
+ map = fetch_images
20
+ file = File.join(@current_path, 'images.cvs')
21
+ FileUtils.rm_rf(file) if File.exist?(file)
22
+ CSV.open(file, 'wb:utf-8') do |csv|
23
+ csv << ['所在模块']
24
+ map.each do |k, v|
25
+ csv << [v.join(', ')] if v.length > 1
26
+ end
27
+ end
28
+ end
29
+
30
+ def fetch_images
31
+ image_map = {}
32
+ Dir.glob("#{@current_path}/**/Assets.xcassets/**/*.imageset").each do |f|
33
+ image_name = File.basename(f, '.*')
34
+ models = image_map[image_name.to_sym]
35
+ unless models
36
+ models = []
37
+ image_map[image_name.to_sym] = models
38
+ end
39
+ models << model_name_with_path(f)
40
+ end
41
+ image_map
42
+ end
43
+
44
+ def model_name_with_path(path)
45
+ reg = %r{Code/([^/]*)/}
46
+ reg = %r{Pods/([^/]*)/} if path =~ /Pods/
47
+ ma = path.match(reg)
48
+ ma[1]
49
+ end
50
+
51
+ end
52
+ end
53
+ end
data/lib/lhj/command.rb CHANGED
@@ -26,6 +26,7 @@ module Lhj
26
26
  require 'lhj/command/sync_pod_repo'
27
27
  require 'lhj/command/sync_pod_version'
28
28
  require 'lhj/command/pgyer_upload'
29
+ require 'lhj/command/duplicate_imageset'
29
30
 
30
31
  self.abstract_command = true
31
32
  self.command = 'lhj'
@@ -19,5 +19,9 @@ module Lhj
19
19
  def self.dingtalk_robot
20
20
  config['dingtalk_robot']
21
21
  end
22
+
23
+ def self.git_branch
24
+ config['git_branch']
25
+ end
22
26
  end
23
27
  end
@@ -8,7 +8,25 @@ module Lhj
8
8
  def self.post_message(title, message)
9
9
  robot_url = Lhj::DingTalkConfig.dingtalk_robot
10
10
  http_body = { 'msgtype' => 'markdown', 'markdown' => { 'title' => title, 'text' => message } }.to_json
11
+ http_post(robot_url, http_body)
12
+ post_branch_message(http_body)
13
+ end
14
+
15
+ def self.post_branch_message(http_body)
16
+ branch_name = fetch_branch
17
+ branch_map = Lhj::DingTalkConfig.git_branch
18
+ branch_robot_key = branch_map[branch_name] if branch_map && branch_name
19
+ branch_robot_url = Lhj::DingTalkConfig.config[branch_robot_key] if branch_robot_key
20
+ http_post(branch_robot_url, http_body) if branch_robot_url
21
+ end
22
+
23
+ def self.http_post(robot_url, http_body)
11
24
  Net::HTTP.post(URI(robot_url), http_body, 'Content-Type' => 'application/json')
12
25
  end
26
+
27
+ def self.fetch_branch
28
+ name = Lhj::Actions.git_branch || ''
29
+ name.split('/').last
30
+ end
13
31
  end
14
32
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ require 'yaml'
3
+ require 'lhj/config'
4
+
5
+ module Lhj
6
+ # Git BranchFeature Config
7
+ class GitBranchFeatureConfig
8
+
9
+ CONFIG_NAME = 'git_branch_feature.yml'
10
+
11
+ def self.config_file
12
+ File.join(Lhj::Config.instance.home_dir, CONFIG_NAME)
13
+ end
14
+
15
+ def self.config
16
+ @yaml ||= YAML.load_file(config_file)
17
+ end
18
+
19
+ def self.feature(branch)
20
+ config[branch] if config
21
+ end
22
+ end
23
+ end
@@ -1,9 +1,10 @@
1
1
  require 'lhj/helper/team_member_config'
2
+ require 'lhj/helper/git_branch_feature_config'
2
3
 
3
4
  module Lhj
4
5
  # log helper
5
6
  class LogHelper
6
- attr_reader :branch, :env, :log
7
+ attr_reader :branch, :env, :log, :feature
7
8
 
8
9
  def self.instance
9
10
  @instance ||= new
@@ -13,6 +14,7 @@ module Lhj
13
14
  @branch = fetch_branch
14
15
  @env = fetch_env(env)
15
16
  @log = fetch_log
17
+ @feature = fetch_feature
16
18
  save_last_commit_hash
17
19
  render_template
18
20
  end
@@ -22,6 +24,10 @@ module Lhj
22
24
  name.split('/').last
23
25
  end
24
26
 
27
+ def fetch_feature
28
+ Lhj::GitBranchFeatureConfig.feature(@branch)
29
+ end
30
+
25
31
  def fetch_env(env)
26
32
  case env
27
33
  when :release
@@ -14,8 +14,11 @@ module Lhj
14
14
  str = note
15
15
  if /#.+#/ =~ note
16
16
  note.scan(/#[^#]+#/) do |m|
17
- res_body = req_with_task(m.match(/\d+/)[0])
18
- if res_body['code'].to_i == 200
17
+ ma = m.match(/\d+/)
18
+ next if !ma || !ma[0] || ma[0].length <= 0
19
+
20
+ res_body = req_with_task(ma[0])
21
+ if res_body && res_body['code'].to_i == 200
19
22
  url_str = "[#{res_body['result'][0]['content']}](https://www.teambition.com/task/#{res_body['result'][0]['taskId']})"
20
23
  str = str.gsub(m, url_str)
21
24
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+ require 'yaml'
3
+ require 'lhj/config'
4
+
5
+ module Lhj
6
+ # Ding Talk Config
7
+ class VikaConfig
8
+
9
+ CONFIG_NAME = 'vika_config.yml'
10
+
11
+ def self.config_file
12
+ File.join(Lhj::Config.instance.home_dir, CONFIG_NAME)
13
+ end
14
+
15
+ def self.config
16
+ @yaml ||= YAML.load_file(config_file)
17
+ end
18
+
19
+ def self.datasheet_id
20
+ config['datasheet_id']
21
+ end
22
+
23
+ def self.view_id
24
+ config['view_id']
25
+ end
26
+
27
+ def self.record_id
28
+ config['record_id']
29
+ end
30
+
31
+ def self.authorization
32
+ config['authorization']
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,29 @@
1
+ require 'lhj/helper/vika_config'
2
+ require 'json'
3
+ require 'lhj/config'
4
+
5
+ module Lhj
6
+ # pgyer upload
7
+ class VikaHelper
8
+
9
+ RECORDS_API_URL = 'https://api.vika.cn/fusion/v1/datasheets/dstmDXBooTe1Wj0QqE/views'.freeze
10
+
11
+ def self.records
12
+ url = URI(RECORDS_API_URL)
13
+
14
+ https = Net::HTTP.new(url.host, url.port)
15
+ https.use_ssl = true
16
+
17
+ request = Net::HTTP::Get.new(url)
18
+ request["Authorization"] = "Bearer usk3cvEicoXG84y32J61BRg"
19
+
20
+ response = https.request(request)
21
+ File.write(File.join(Lhj::Config.instance.home_dir, 'vika_all_records.json'), JSON.parse(response.read_body))
22
+ end
23
+
24
+ def self.all_records
25
+ map = {'v6.2.0' => '月底发版分支'}
26
+ puts map.to_yaml
27
+ end
28
+ end
29
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lhj
4
4
  module Tools
5
- VERSION = "0.1.27"
5
+ VERSION = "0.1.30"
6
6
  end
7
7
  end
data/lib/lhj/tools.rb CHANGED
@@ -12,12 +12,14 @@ module Lhj
12
12
  require 'lhj/ui/ui'
13
13
  require 'lhj/config'
14
14
  require 'lhj/helper/pod_repo_config'
15
+ require 'lhj/helper/git_branch_feature_config'
15
16
  require 'lhj/helper/pgyer_helper'
16
17
  require 'lhj/helper/dingtalk_helper'
17
18
  require 'lhj/helper/tb_helper'
18
19
  require 'lhj/action/sh_helper'
19
20
  require 'lhj/helper/git_helper'
20
21
  require 'lhj/helper/log_helper'
22
+ require 'lhj/helper/vika_helper'
21
23
 
22
24
  class Error < StandardError; end
23
25
 
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.27
4
+ version: 0.1.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-24 00:00:00.000000000 Z
11
+ date: 2022-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -296,6 +296,7 @@ files:
296
296
  - lib/lhj/command.rb
297
297
  - lib/lhj/command/config.rb
298
298
  - lib/lhj/command/config/info.rb
299
+ - lib/lhj/command/duplicate_imageset.rb
299
300
  - lib/lhj/command/file_path.rb
300
301
  - lib/lhj/command/head_import.rb
301
302
  - lib/lhj/command/http.rb
@@ -330,6 +331,7 @@ files:
330
331
  - lib/lhj/env.rb
331
332
  - lib/lhj/helper/dingtalk_config.rb
332
333
  - lib/lhj/helper/dingtalk_helper.rb
334
+ - lib/lhj/helper/git_branch_feature_config.rb
333
335
  - lib/lhj/helper/git_helper.rb
334
336
  - lib/lhj/helper/local_config.rb
335
337
  - lib/lhj/helper/log_helper.rb
@@ -342,6 +344,8 @@ files:
342
344
  - lib/lhj/helper/tb_helper.rb
343
345
  - lib/lhj/helper/team_member_config.rb
344
346
  - lib/lhj/helper/trans_helper.rb
347
+ - lib/lhj/helper/vika_config.rb
348
+ - lib/lhj/helper/vika_helper.rb
345
349
  - lib/lhj/jenkins/client.rb
346
350
  - lib/lhj/jenkins/exceptions.rb
347
351
  - lib/lhj/jenkins/job.rb