itools 0.2.3 → 0.2.4

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: d39ab21ff4227e324816580ed8b0f7ae04da79961bd117e145cc8e0f62223e0e
4
- data.tar.gz: 36ea5a963b803db9f14a2ea6ac1c09e12cdf2edd413bcfd7b9b0106e4cb60c06
3
+ metadata.gz: 9767a4dc31da86dba35eb36ff7c140518af6339eb176818520d7ee0aa51fd12a
4
+ data.tar.gz: 4b0caef476cc596ae88813158e3a3a89a2c2410dd976fee46ae4ba3191dc2da9
5
5
  SHA512:
6
- metadata.gz: 60dafd60cb71a5543ce38c6533be49cecdca20fa507f35ad37437caa3d6684e1133cd7a2f51dffc6bf7f4b376a5e59a5c8d35f33fc8321490c7dddeb0e100423
7
- data.tar.gz: e582dfc21639a60c7976f1eef89ecad4ce6aca0c27f75585c7a9e057765df6825a9dd2918c992bddb7bb9d2ccab1c4e8f2b28e01ea78428e84a9d17fdd4bf9b5
6
+ metadata.gz: d12af5520c72c8bb3067686e14726581cab1a30630ea0c96d45d0bbe29effa4ecf97b9701f67e82e002ededa7aee719105ae46b83c94f65d05cd413c73dc88dd
7
+ data.tar.gz: cbd77f0e21354edc97de7e707dffd84a03be636600053de5897e6751c82602de5ce01dbc13f6b97d21cf033bff5de15e25c151d07f8baa84427ee66cfbdd1506
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- itools (0.2.3)
4
+ itools (0.2.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -30,25 +30,50 @@ module Itools
30
30
  end
31
31
  # 计算整个文件夹
32
32
  def cal_folder(folder)
33
+ print "\033[32m请输入要查找文件后缀\033[0m(例如想文件夹中图片大小则输入:{png,jpg,gif},不输入则默认计算文件夹下所有文件大小之和):"
34
+ file_exts_string = STDIN.gets
35
+ file_exts_string.chomp! #过滤换行符
36
+ if file_exts_string.size == 0
37
+ file_exts = []
38
+ else
39
+ file_exts = file_exts_string.split(",")
40
+ end
33
41
  sum = 0
34
42
  file_count = 0
43
+ total_count = 0
44
+ total_size = 0
35
45
  Find.find(folder) do |filename|
36
46
  if File.file?(filename)
37
- sum = sum + File.size(filename)
38
- file_count = file_count + 1
39
- # puts "#{File.basename(filename)}的大小为:#{get_show_size(File.size(filename))}"
47
+ total_count = total_count + 1
48
+ total_size = total_size + File.size(filename)
49
+ if file_exts.size == 0 #说明计算所有文件
50
+ sum = sum + File.size(filename)
51
+ file_count = file_count + 1
52
+ elsif file_exts.include?(File.extname(filename).delete(".")) #查找指定后缀的文件
53
+ sum = sum + File.size(filename)
54
+ file_count = file_count + 1
55
+ else
56
+ #不做任何处理
57
+ end
40
58
  end
41
59
  end
42
- puts "\033[32m文件夹中共#{file_count}个文件,共占用内存大小为:#{get_show_size(sum)}.\033[0m"
60
+ if file_exts.size == 0
61
+ puts "\033[32m文件夹中共#{total_count}个文件,共#{get_show_size(total_size)}\033[0m"
62
+ else
63
+ puts "\033[32m文件夹中共#{total_count}个文件,共#{get_show_size(total_size)};找到后缀为(#{file_exts_string})的文件#{file_count}个,共#{get_show_size(sum)}.\033[0m"
64
+ end
65
+
43
66
  # puts `du -b #{folder} | awk '{print $1}'`.to_i
44
67
  end
45
68
  # get_show_size
46
69
  def get_show_size(size)
47
- if size > @pro * @pro
70
+ if size > @pro * @pro * @pro
71
+ return format("%.2f",(size.to_f/(@pro*@pro*@pro))) + "GB"
72
+ elsif size > @pro * @pro
48
73
  return format("%.2f",(size.to_f/(@pro*@pro))) + "MB"
49
74
  elsif size > @pro
50
75
  return format("%.2f",(size.to_f/@pro)) + "KB"
51
- else
76
+ else
52
77
  return size.to_s + "B"
53
78
  end
54
79
  end
@@ -1,3 +1,3 @@
1
1
  module Itools
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - zhanggui