OSDN Git Service

c902cb4c7c42354e8aa6cdb44c48504c1e0ccf01
[pettanr/pettanr.git] / bin / preup.rb
1 #サポートツール\r
2 require 'rubygems'\r
3 require 'fileutils'\r
4 require 'json'\r
5 \r
6 if ARGV.size < 1\r
7   puts "preup.rb dirname {license.json}"\r
8   exit\r
9 end\r
10 \r
11 dirname = File.expand_path ARGV[0]\r
12 ls = if ARGV.size > 1 and File.exist?(ARGV[1]) \r
13   ARGV[1]\r
14 else\r
15   nil\r
16 end\r
17 \r
18 Dir.glob(dirname + '/*') do |fn|\r
19   ext = File.extname(fn).downcase\r
20   bn = File.basename(fn, ".*")\r
21   case ext\r
22   when '.png', '.gif', '.jpeg'\r
23     puts fn\r
24     d = File.dirname(fn) + '/' + bn\r
25     Dir.mkdir(d) unless File.exist?(d)\r
26     FileUtils.cp fn, d + '/' + File.basename(fn)\r
27     if ls\r
28       puts 'with license:' + ls\r
29       lsfn = d + '/' + File.basename(ls)\r
30       attrfn = d + '/attributes.json'\r
31       if File.exist?(attrfn) \r
32         puts 'get attributes.json'\r
33         attr = nil\r
34         File.open(attrfn, 'r') do |f|\r
35           attr = JSON.parse(f.read)\r
36         end\r
37         json = JSON.parse(open(ls).read)\r
38         if json['attributes'] and attr\r
39           json['attributes'] = attr\r
40         end\r
41         File.open(lsfn, 'w') do |f|\r
42           f.write JSON.pretty_generate(json)\r
43         end\r
44       else\r
45         FileUtils.cp ls, lsfn\r
46       end\r
47     end\r
48   end\r
49 end\r
50 \r