#! /usr/bin/perl use lib('./lib'); use XMLRPC::Lite; use Unicode::Japanese; require "./jcode.pl"; #このファイルはEUCでできています。HNSがEUCなので。 $mtxml = "mt-xmlrpc.cgi"; #xml-rpc.cgi を指定する $baseurl = "http://domain/MT/"; #MTの設置場所を指定する $blogid = 1; $username = "blog user"; $passwd = "blog passwd"; #--- MovableTypeのPassword Checkはパターンマッチさせている? #--- ^先頭から一致していれば、 末尾の間に何が入っても通る可能性がある $|=1; %systemdata =( 'loginuser' => 'test', #xml rpcのユーザを指定 'loginpass' => '0000', #xml rpcのパスワードを指定 'blogid' => 1, #blog idを指定 'bloguser' => 'blog user', #blog のユーザを指定 'blogpass' => 'blog pass', #blog のパスワードを指定 ); %categories = &get_categories($systemdata{'blogid'},$systemdata{'bloguser'},$systemdata{'blogpass'}); $basedir = ""; #どこにhnsのデータを保存しているかを指定する # 年で loop 範囲を指定する for ($i=2003; $i <= 2005; $i++) { print $i . "\n"; $year = $i; for ($m=1; $m <= 12; $m++) { $month = sprintf("%02d",$m); for ($d = 1; $d<=31; $d++) { $day = sprintf("%02d",$d); $date = $year . $month . $day; $filename = $basedir . $year . "\\" . "d" . $date . ".hnf"; print $filename . "\n"; if (-e $filename) { $starting = 0; $cate_back = ""; $message_back = ""; $title_back = ""; open(IN,"$filename"); while() { $lines = $_; #return($value,$title,$categ); ($message,$title_new,$cate_new) = &check_commands($lines); if ($cate_new ne "") { $cate_disp = $cate_new; &jcode::convert(\$cate_disp,'sjis'); print "Cate: $cate_disp\n"; if ($cate_back ne "") { #2003-01-09 02:17:28 $message_date = $year ."-" . $month . "-" . $day . "T" . "00:0" . $starting . ":00.45+09:00"; &post_messages($systemdata{'blogid'},$systemdata{'bloguser'},$systemdata{'blogpass'},$cate_back,$title_back,$message_back,$message_date); $starting++; } $cate_back = $cate_new; $message_back = ""; } elsif ($title_new ne "") { $title_back = $title_new; $message_back = ""; } else { $message_back .= $message; } } close(IN); $message_date = $year ."-" . $month . "-" . $day . "T" . "00:0" . $starting .":00.45+09:00"; &post_messages($systemdata{'blogid'},$systemdata{'bloguser'},$systemdata{'blogpass'},$cate_back,$title_back,$message_back,$message_date); } } } } exit; sub check_commands { my($lines) = @_; my($value,$title,$categ); chomp($lines); if ($lines =~ /^OK$/i) { } elsif ($lines =~ /^LNEW\s(.*?)\s(.*?)$/) { $title ="$2"; } elsif ($lines =~ /^NEW\s(.*?)$/) { $title = $1; } elsif ($lines =~ /^CITE$/) { $value = "
"; } elsif ($lines =~ /^\/CITE$/) { $value = "
"; } elsif ($lines =~ /^\/STRONG$/) { $value = ""; } elsif ($lines =~ /^STRONG$/) { $value = ""; } elsif ($lines =~ /^P$/) { $value = "

"; } elsif ($lines =~ /^\/P$/) { $value = "

"; } elsif ($lines =~ /^\/P$/) { $value = "

"; } elsif ($lines =~ /^CAT\s(.*?)$/) { $categ = $1; } elsif ($lines =~ /^LINK\s(.*?)\s(.*?)$/) { $value ="$2"; } elsif ($lines =~ /^URL\s(.*?)\s(.*?)$/) { $value ="$2($1)"; } elsif ($lines =~ /^FONT\s(.*?)\s(.*?)\s(.*?)$/) { $value ="$3"; } elsif ($lines =~ /^STRIKE\s(.*?)$/) { $value ="$1"; } elsif ($lines =~ /^PRE$/) { $value ="
";
	}
	elsif ($lines =~ /^\/PRE$/)
	{
		$value ="
"; } elsif ($lines =~ /^\/UL$/) { $value =""; } elsif ($lines =~ /^UL$/) { $value ="