Linuxで日本語ファイル名のzipを解凍するためのpythonスクリプトを作ってみた

突然ですが、Windows Vistaを卒業して Ubuntu 9.04に入門しました。 普段の仕事はぜんぶUbuntu on Dynabook SS/RX1でやってます。 ほとんどの作業は問題ないものの、zipファイルの中身のファイル名が文字化けするのがイラっときてました。。。 と、いうわけで、参考になりそうなコードがあったので 勉強がてらpythonで回避用のプログラムを組んでみました。 元ネタのlolloo-htnの日記 - 解凍すると文字化けするzipファイルをpythonでなんとかしてみるから、パスワード入力ができるように、出力先をエイヤーでするようにちょびっと変更しています。 なんせ「文字列の連結ってどうやるんだっけ?」ってくらい素人なので アラアラなのはご容赦くださいませ。 直し方とか教えてもらえると超うれしいです。

[Read More]

mod_rewriteのRewriteCondで、SetEnvIfの環境変数を利用する

謎のタイトルになりましたが、、、 apacheのmod_rewriteでリライトするときに、SetEnvIfやSetEnvIfNoCaseで設定した環境変数を参照したい場合があります。 マニュアルにはあんまり丁寧に出てないんですが、Using Environment Variablesの最後にちゃーんと書いてありました。

%{ENV:variable}
これで環境変数を使えます。 mod_rewriteのほうには書いてないのがちょっと不親切ですね。。 ↓以下サンプルです。 [Read More]
Linux 

twitterクライアント「P3」のLinux用起動スクリプト

twitterのクライアントとして、P3を使っています。 win/Linux(ubuntu)で使うので、バイナリ自体をDropBoxで共有しちゃってます。 起動スクリプトを作って、ランチャーに仕込んで使っています。 ↓超簡単だけど、こんな感じ。たぶんMacOSXでも使えるんじゃないかなぁ。

[Read More]
Linux 

yumでインストールしたMySQLを複数起動する

yumでインストールしたMySQLを複数起動する起動スクリプトを書いたのでメモ。 CentOS 5.2, MySQL 5.0.45 で動作確認しました。 いろいろと細かく修正する必要があって、なんだかなー、といった感じです。 /etc/rc.d/init.d/mysqld-second とかそういう名前で作ってます。 ↓長いので本体は続きで。

[Read More]
MySQL  Linux 

IDManagerからKeepassXにデータ移行するxslt

はてな田中さん(@stanaka)がruby製の変換ツール書いてくれました。
独自項目が保存できるのでこちらを利用するのをお勧めします!
https://gist.github.com/3263705

ruby 1.9.2-p290, 1.9.3-p194で使えました。

使い方はこんな感じ。
https://gist.github.com/3282820

sed 's/encoding="shift-jis"/encoding="cp932"/' in.xml  | idm2keepassx.rb >out.xml

以降は「XSLTでやってみたい!」という方向けのエントリ
Linux Desktopで業務を回そう計画の一環として、IDManagerをKeepassXへ移行する予定です。 アプリを変えるためにはデータ移行! ということで、IDManagerでエクスポートしたXMLを、KeepassXでインポートできるXMLに変換するXSLTを書きました。 XSLTヨクワカラナイのでいろいろ参考にさせてもらいました。 特に助かったのはここでした。改行置換はまるっと使わせてもらってます。 ⇒FAQ的なXSLTのサンプル ちゃんとXMLで出力するようにxsl:element使って書いたけど、すごく読みにくく。。 なんちゃってXMLで、HTMLっぽく書いてた時のほうが読みやすかったなぁ。 ※使用上の注意 IDManagerでエクスポートしたXMLのエンコーディング指定を書き換えないとうまく動かない場合があります!

before

<?xml version="1.0" encoding="shift-jis" standalone="yes"?><idmData>

after

<?xml version="1.0" encoding="CP932" standalone="yes"?><idmData>
本体はかなり長いので、つづきに書いておきます。 [Read More]
Linux