まとめページ

2011/04/28

Bloggerにテキストファイルを投稿するスクリプト

このブログのほとんどの記事をLinuxからGoogleCLで投稿している。
記事のタイトルとタグをいちいちコマンド引数に渡すのが面倒なので、投稿するファイルから拾うスクリプトを作成して使っている。

実行方法:
$ blogger-post file1.txt file2.txt ...

投稿ファイルのサンプル (UTF-8):

記事のタイトル
tag1,tag2
本文
本文
本文


blogger-post:

#!/usr/bin/perl
use utf8;

my $blog = "My Blog";
my $tf = "/tmp/blogger-post.tmp";

while (my $f = shift) {
    print "Posting $f ...\n";
    open(IN, "<:utf8", $f) || die "Cannot open $f : $!\n";
    my $title = <IN>;
    chomp $title;
    (length($title) > 0) || die "Title is empty\n";
    my $tags = <IN>;
    chomp $tags;
    open(OUT, ">:utf8", $tf) || die "Cannot write to $tf : $!\n";
    while (<IN>) {
        print OUT;
    }
    close IN;
    close OUT;
    my $r = system("google blogger post --blog=\"$blog\" ".
        "--draft -n \"$title\" -t \"$tags\" $tf");
    unlink $tf;
    exit 1 if ($r ne 0);
}


$blog は対象のブログ名。

0 件のコメント:

コメントを投稿