yptools 1.1.6 → 1.1.7

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: bce0b24f8105efc32897586bcad82bae9a7431ec57aef6aadf01184b77a5625d
4
- data.tar.gz: 20e96b240ce3052ed6eb296098856d2d3c9acf5301d7feb2f4ada19fb53da49f
3
+ metadata.gz: 6cadf211ff62cf593679a72de915fe9b7ca05311b86a2734014aea8a4edc5779
4
+ data.tar.gz: 071d3ffa79bacbfdb6715314d132be29b6493e60140cb926302344f87390d445
5
5
  SHA512:
6
- metadata.gz: 4432ede4114c7be8e96597ac1a907125a18baca8b3d8c5dc00b9b70f0bf46925421f8aa0e014dbc01043866655114f905af49b9fd07abf53e37c9426b9d0337c
7
- data.tar.gz: 84192a97f9bd067dd493f5131d1269bf3293ef7dabc0345aa96c559e7283a4a1fb0943204b897c4f9a80fc5bc12f5a7f5b04ebf54e02f0b058f6dda2a012a0e1
6
+ metadata.gz: a016a77f9a7196fd9af5c86435a5f0811c468a59e516860e4d9d751fc9f444c34115e392aa94951611356c9a09808b4e9a7a86b9bd1bd30e5486df64b3028110
7
+ data.tar.gz: '09107a47d3abd10c316a07b8324526234371c0ae1d7b6cbfb9f6c5ac10d23d359da4765467c887e724a398438bde0fe7b273b2e69624d3467907ffc3aba07eda'
@@ -19,6 +19,8 @@ class YPHelp
19
19
  xpj: use [yptools xpj ...] use xcodeproj api
20
20
  use [yptools xpj check] 检查当前目录项目文件是否存在引用的问题
21
21
 
22
+ png2jpeg: use [yptools png2jpeg ...] 将当前目录下面的png转为jpeg格式(目的可以用于减少文件大小,方便上传)
23
+
22
24
  🤖🤖🤖 - 智能聊天、绘画(OpenAI)
23
25
  chatgpt: use [yptools chatgpt] 创建会话列表与 chatgpt 聊天,会记录上下内容(科学上网)
24
26
  [yptools chatgpt ...] 快速与 chatgpt 沟通,不会记录上下内容
@@ -0,0 +1,45 @@
1
+ require 'colored'
2
+ require_relative '../log/yp_log'
3
+ require 'fileutils'
4
+
5
+ class YPPng2Jpeg
6
+ def self.png2jpeg(target_folder)
7
+ # 检查是否提供了目标文件夹名称作为参数
8
+ if target_folder.nil? || target_folder.empty?
9
+ puts '请提供目标文件夹名称作为参数'.red
10
+ exit(1)
11
+ end
12
+
13
+ # 检查目标文件夹是否存在
14
+ unless File.directory?(target_folder)
15
+ puts "目标文件夹不存在:#{target_folder}".red
16
+ exit(1)
17
+ end
18
+
19
+ # 创建新的文件夹(hah-jpeg)在同级目录下
20
+ output_root_folder = File.join(File.dirname(target_folder), "#{File.basename(target_folder)}-jpeg")
21
+ FileUtils.mkdir_p(output_root_folder)
22
+
23
+ # 遍历目标文件夹中的所有PNG文件
24
+ Dir.glob(File.join(target_folder, '**', '*.png')).each do |png_file|
25
+ # 获取文件路径、文件名(不含路径)和扩展名
26
+ file_path = File.dirname(png_file)
27
+ filename = File.basename(png_file)
28
+ extension = File.extname(filename)
29
+
30
+ # 创建目标文件的路径和名称,将扩展名从PNG更改为JPG
31
+ new_filename = File.basename(filename, '.*') + '.jpg'
32
+ output_folder = File.join(output_root_folder, File.basename(file_path))
33
+ FileUtils.mkdir_p(output_folder)
34
+ new_file = File.join(output_folder, new_filename)
35
+
36
+ # 使用sips命令将PNG转换为JPG
37
+ system("sips -s format jpeg '#{png_file}' --out '#{new_file}'")
38
+
39
+ # 输出转换结果
40
+ puts "已将 #{png_file} 转换为 #{new_file}".green
41
+ end
42
+
43
+ puts "转换完成,JPEG文件保存在 #{output_root_folder} 中".green
44
+ end
45
+ end
data/lib/yptools.rb CHANGED
@@ -15,6 +15,7 @@ require_relative 'yptools/portscan/yp_portscan'
15
15
  require_relative 'yptools/scanlocalips/yp_scanlocalips'
16
16
  require_relative 'yptools/dosattack/yp_dosattack'
17
17
  require_relative 'yptools/unziptools/yp_unziptools'
18
+ require_relative 'yptools/png2jpeg/yp_png2jpeg'
18
19
 
19
20
  class YPTools
20
21
 
@@ -77,12 +78,12 @@ class YPTools
77
78
  yp_log_fail "'yptools mgc ..' 参数缺失"
78
79
  self.help
79
80
  end
80
- when 'install'
81
+ when 'png2jpeg'
81
82
  if argvs.size > 1
82
83
  name = argvs[1]
83
- self.install name
84
+ self.png2jpeg name
84
85
  else
85
- yp_log_fail "'yptools install ..' 参数缺失"
86
+ yp_log_fail "'yptools png2jpeg ..' 参数缺失"
86
87
  self.help
87
88
  end
88
89
  when 'showipa'
@@ -198,6 +199,10 @@ class YPTools
198
199
  YPUnzipTools.unzip(argvs)
199
200
  end
200
201
 
202
+ def self.png2jpeg(path)
203
+ YPPng2Jpeg.png2jpeg(path)
204
+ end
205
+
201
206
  end
202
207
 
203
208
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yptools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - chenghengsheng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-08 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -142,6 +142,7 @@ files:
142
142
  - lib/yptools/log/yp_log.rb
143
143
  - lib/yptools/mgc/yp_makegarbagecode.rb
144
144
  - lib/yptools/package/yp_package.rb
145
+ - lib/yptools/png2jpeg/yp_png2jpeg.rb
145
146
  - lib/yptools/portscan/yp_portscan.rb
146
147
  - lib/yptools/scanlocalips/yp_scanlocalips.rb
147
148
  - lib/yptools/unziptools/yp_unziptools.rb