OSDN Git Service

t#29312:any update
[pettanr/pettanr.git] / script / ls_helper.rb
1 #ライセンスのjsonファイルを作るサポートツール\r
2 #Yamlファイルからコンバートする\r
3 if ARGV.size < 1\r
4   puts "ls_helper.rb ls.yml [work dir=current dir]"\r
5   puts "generate to ls.json"\r
6   exit\r
7 end\r
8 \r
9 require 'yaml'\r
10 require 'json'\r
11 require 'base64'\r
12 \r
13 filename = ARGV[0]\r
14 lg = YAML.load(open(filename).read)\r
15 fn = File.basename filename, ".*"\r
16 wd = ARGV[1] ? File.expand_path(ARGV[1]) : File.dirname(filename)\r
17 o = wd + '/' + fn + '.json'\r
18 \r
19 lg.each do |k, g|\r
20   puts k\r
21   g['licenses_attributes'].each do |lk, l|\r
22     puts lk\r
23     if l['settings']\r
24       puts 'settings to json'\r
25       l['settings'] = l['settings'].to_json.to_s\r
26     end\r
27     if l['system_picture_file']\r
28       fn = File.expand_path(wd + '/' + l['system_picture_file'])\r
29       puts 'open system picture file ' + fn\r
30       d = File.open(fn, 'rb').read\r
31       b = Base64.encode64(d).gsub(/\r/, '').gsub(/\n/, '')\r
32       l['system_picture'] = b\r
33       l.delete 'system_picture_file'\r
34     end\r
35   end\r
36 end\r
37 puts "generating " + o\r
38 File.open(o, 'wb') do |f|\r
39   f.write lg.to_json.to_s\r
40 end\r