ページ

2013年1月1日火曜日

画像も引越し

さて http://marpapa.blogspot.jp/2012/12/blog-post_8424.html でパッと見の引越しはできそうだ。でも画像はやっぱり元のサーバに置いたまま。これはいかん。
とりあえず画像もGoogleさんにお願いしないといかん。さてどうするか。
一律前のサーバの画像ファイルをGoogleさんに預けるとして、元URLと新URLを変換する方法を考えないと。

そこで考えた方法は以下の通り。

  1. まずは以前MT4からエクスポートしたファイルから変換対象のURLを抽出
  2. 変換対象の画像ファイルをPicasaにひたすらアップロード
  3. 1.で抽出したURLと2.でアップロードしたURLの対応表を作成
  4. 対応表に合わせて以前MT4からエクスポートしたファイルに対して置換処理
  5. あとは以前記載した方法でBlogger形式に変換、そしてBloggerにインポート
と、まーこんな感じ。
1.はテキストエディタでガンバって整形処理してみました。2.は以前使ってたレンタルサーバから画像ファイルをFTPでダウンロードして、ただひたすらアップロード。ある意味これが一番疲れた。
で、もうやってらんないので3.と4.は簡単なスクリプトを作ってみました。

こんなやつです。ちなみに参考にする方は当方では責任を持ちませんので自己責任にてお願いします。m(_ _)m

まずは対応表作成。

----------
# -*- coding: utf-8 -*-
Encoding.default_external = 'UTF-8'

# 基準とするファイルリスト
base_list_file = ARGV[0]

# 変換対象のファイルリスト
before_list_file = ARGV[1]

file_hash = Hash.new

# 基準となるファイルリストを読み込んでファイル名部分を抽出
open base_list_file do |file|
file.each do |line|
 file_hash[line.scan(/\w+.jpg/).pop] = line.chomp
end
end

#p file_hash

# 変換対象のファイルリストを読み込んで基準となるファイルリストに対応付ける
open before_list_file do |file|
file.each do |line|
file_hash.each do |key|
if nil != line.index(key[0]) then
key[1] += "," + line.chomp
puts key[1]
end
end
end
end
----------


次に置換処理。

----------
# -*- coding: utf-8 -*-

Encoding.default_external = 'UTF-8'

input_file = ARGV[0]
replace_file = ARGV[1]

table = Hash.new

# 変換テーブルを作成
open replace_file do |file|
file.each do |line|
a = line.split(",")
table[a[0]] = a[1].chomp
end
end

# 入力ファイルを一行ずつ処理
open input_file do |file|
file.each do |line|
if nil != line.index(".jpg") then
table.each do |key|
if nil != line.index(key[0]) then
puts line.gsub(key[0], key[1])
end
end
else
puts line
end
end
end
----------


何とか無事お引越し完了。
次は奥さんの分をやらないと・・・。