CSSアップローダ
30分プログラム、その129。ローカルにあるスタイルシートを、はてなダイアリーのスタイルシートとして書き込むツール。
はてダラにインスパイアされました。
使い方
$ perl hcss.pl style.css
ソースコード
#! /usr/bin/perl # -*- mode:perl; coding:utf-8 -*- # # hcss.pl - # # Copyright(C) 2007 by mzp # Author: MIZUNO Hiroki <hiroki1124@gmail.com> # http://mzp.sakura.ne.jp/ # # Timestamp: 2007/09/09 16:01:49 # # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # use strict; use warnings; use WWW::Mechanize; use Data::Dumper; # ------------------ # setting # ------------------ my $username = 'mzp'; my $password = 'xxx'; # ------------------ open(FILE,$ARGV[0]) or die('File cannot open'); my $css = join('',<FILE>); close(FILE); sub print_msg(@){ print @_,"\n"; } sub print_debug(@){ # print_msg("DEBUG:",@_); } sub status($$){ my ($name,$mech) = @_; print_debug("$name :",$mech->status); unless($mech->success){ die("$name :",'Unexpected response: ',$mech->status); } } print_debug('Login form'); my $mech = WWW::Mechanize->new; my $r = $mech->get('http://www.hatena.ne.jp/login'); status 'Login form',$mech; print_debug "Login"; $mech->form_number(1); $mech->set_fields('name'=>$username, 'password'=>$password, 'persistent'=>'1'); $r = $mech->submit; status 'Login',$mech; print_debug "Design"; $r = $mech->get("http://d.hatena.ne.jp/$username/designdetail"); status 'Get Design',$mech; $mech->form_number(1); $mech->set_fields('style'=>$css); $mech->submit; status 'Design',$mech;