- def each_panel\r
- self.panels(@src_host, @src_auth).each do |key, panel_json|\r
- puts 'source panel:' + key.to_s\r
- # 今はAPIの仕様が変わっているので、そのうち書き直す\r
- elements = panel_json['elements']\r
- panel_json.delete 'elements'\r
- c = true\r
- elements.each do |e|\r
- if e['link']\r
- element_name = 'panel_pictures'\r
- puts 'pp:' + e['id'].to_s\r
- rps = self.resource_picture e['picture']['md5'], @dest_host, @dest_auth\r
- if rps.any?\r
- rp = rps.first\r
- puts 'picture ok(' + rp['id'].to_s + ')'\r
- else\r
- puts 'no picture'\r
- c = false\r
- break\r
- end\r
- src_ls_name = @src_licenses[e['picture']['license_id']]['name'].gsub /License\:/, 'Licenses:'\r
- puts 'license:' + e['picture']['license_id'].to_s + '(' + src_ls_name + ')'\r
- if dl = @dest_licenses[src_ls_name]\r
- puts 'license ok(' + dl['id'].to_s + ')'\r
- else\r
- puts 'no license'\r
- c = false\r
- break\r
- end\r
- e['picture_id'] = rp['id']\r
- e.delete 'picture'\r
- e.delete 'license'\r
- elsif e['classname']\r
- element_name = 'speech_balloons'\r
- puts 'sb:' + e['id'].to_s\r
- src_sb_name = @src_speech_balloon_templates[e['speech_balloon_template_id']]['name']\r
- puts 'speech_balloon_template:' + e['speech_balloon_template_id'].to_s + '(' + src_sb_name + ')'\r
- if dsb = @dest_speech_balloon_templates[src_sb_name]\r
- puts 'speech_balloon_template ok(' + dsb['id'].to_s + ')'\r
- else\r
- puts 'no speech_balloon_template'\r
- c = false\r
- break\r
- end\r
- src_sp_md5 = @src_system_pictures[e['balloon']['system_picture_id']]['md5']\r
- puts 'balloon picture:' + e['balloon']['system_picture_id'].to_s + '(' + src_sp_md5 + ')'\r
- if dsp = @dest_system_pictures[src_sp_md5]\r
- puts 'balloon picture ok(' + dsp['id'].to_s + ')'\r
- else\r
- puts 'no balloon picture'\r
- c = false\r
- break\r
- end\r
- src_wf_name = @src_writing_formats[e['speech']['writing_format_id']]['name']\r
- puts 'speech writing_format:' + e['speech']['writing_format_id'].to_s + '(' + src_wf_name + ')'\r
- if dwf = @dest_writing_formats[src_wf_name]\r
- puts 'speech writing_format ok(' + dwf['id'].to_s + ')'\r
- else\r
- puts 'no speech writing_format'\r
- c = false\r
- break\r
- end\r
- e['speech_balloon_template_id'] = dsb['id']\r
- e["speech_balloon_template_settings"] = e["settings"]\r
- e.delete 'settings'\r
- e["speech_balloon_template_classname"] = dsb["classname"]\r
- e.delete 'classname'\r
- #e.delete 'speech_balloon_template'\r
- balloon = e['balloon']\r
- e.delete 'balloon'\r
- balloon.delete 'id'\r
- balloon.delete 'speech_balloon_id'\r
- balloon["speech_balloon_template_settings"] = e["settings"]\r
- balloon.delete 'settings'\r
- balloon['system_picture_id'] = dsp['id']\r
- balloon['speech_balloon_template_id'] = dsb['id']\r
- balloon["speech_balloon_template_classname"] = dsb["classname"]\r
- \r
- speech = e['speech']\r
- e.delete 'speech'\r
- speech.delete 'id'\r
- speech.delete 'speech_balloon_id'\r
- speech["speech_balloon_template_settings"] = e["settings"]\r
- speech.delete 'settings'\r
- speech['speech_balloon_template_id'] = dsb['id']\r
- speech["speech_balloon_template_classname"] = dsb["classname"]\r
- speech['writing_format_id'] = dwf['id']\r
- # speech["writing_format_classname"] = 'Pettanr' + dwf["classname"]\r
- speech["writing_format_classname"] = dwf["classname"]\r
- \r
- e['balloon_attributes'] = balloon\r
- e['speech_attributes'] = speech\r
- elsif e['code']\r
- element_name = 'ground_colors'\r
- puts 'gc:' + e['id'].to_s\r
- elsif e['repeat']\r
- element_name = 'ground_pictures'\r
- puts 'gp:' + e['id'].to_s\r
- rps = self.resource_picture e['picture']['md5'], @dest_host, @dest_auth\r
- if rps.any?\r
- rp = rps.first\r
- puts 'picture ok(' + rp['id'].to_s + ')'\r
- else\r
- puts 'no picture'\r
- c = false\r
- break\r
- end\r
- #e['license_id'] = dl['id']\r
- e['picture_id'] = rp['id']\r
- #e.delete 'license'\r
- else\r
- c = false\r
- break\r
- end\r
- eid = e['id']\r
- e.delete 'id'\r
- e.delete 'panel_id'\r
- panel_json[element_name + '_attributes'] ||= {}\r
- panel_json[element_name + '_attributes']['new' + eid.to_s] = e\r
- end\r
- next unless c\r
- puts '============ importable'\r
- panel_json.delete 'id'\r
- panel_json.delete 'author'\r
- panel_json.delete 'author_id'\r
- panel_json.delete "created_at"\r
- panel_json.delete 'updated_at'\r
- yield panel_json\r
- end\r