2013年1月13日日曜日

mechanize / watir

銀行とかから月イチで明細をダウンロードしてgnucashに突っ込む
と言う作業をここ3年くらいやっている。
正直面倒くさいので、mechanizeで自動化しようとした。

 とりあえず以下の明細をとりたかった
・イオンカード
・中国銀行VISAカード
・中国銀行
・SMBC
・ゆうちょ

このうち、イオンカードと中銀VISAと中銀はjavascriptを解析して
mechanizeで自動取得できた。
他の(特にゆうちょ)は javascriptバリバリでちょっと無理。

と思ったら、中銀に改造が入ったらしく、javascriptの割合が増えて動かなくなった。

もうmechanize使ってjavascript解析してってのはやってらんないってことで
他のを探してwatirってのを見つけた。
ちょっと前までは要素が無いものに対してexists?を実行すると落ちてたけど、
最近updateしたら直っているようだ。

自動化するためのメモをいくつか書いておく。

・要素の調べ方
右クリックで「要素を調査」を選んだら色々調べられる。


・ofxファイルダウンロード 先の指定
普通に動かすとダウンロードダイアログが出てしまうので起動するブラウザの設定を変える。
profile = Selenium::WebDriver::Firefox::Profile.new
profile["browser.download.useDownloadDir"] = true
profile["browser.download.dir"] = '~/work/mechanize/smbc'
profile["browser.download.folderList"] = 2
profile["browser.helperApps.neverAsk.saveToDisk"] = "application/x-ofx"
driver = Selenium::WebDriver.for :firefox, :profile => profile
b = Watir::Browser.new(driver)

・フレーム
中銀はフレームを使って無いように見えて使ってたりするのでハマった
f = b.frame(:index=>0)
f.link(:href=>/hogehoge/).exists?

・ゆうちょは明細ダウンロードが無い
table要素を配列にできる
hairetu = b.table(:class=>"hogehoge").to_a

最近ゆうちょ使ってなくて明細にログが無いので未確認だけど、そのうちやる。

ubuntu 12.10 byobuのエスケープキー

いままでbyobuのバックエンドをscreenにして使ってた(エスケープキーが変えられなかったから)
設定メモ: screenでマウススクロール

12.10でもUIでエスケープキー変えられないのは相変わらず。
なんでなんだろう。

とりあえずtmuxの設定を直書きする事にした。(Ctrl-gに設定)

 ~/.byobu/keybindings.tmuxに

 set-option -g prefix C-g

を追加

byobuだと分割とかの設定がtmuxとかscreenとかと違うっぽい

よく使う機能

shift-F2 -> 横分割(Ctrl-g "は違うっぽい)

Ctrl-g % -> 縦分割
Ctrl-g Tab -> 分割間の移動
Ctrl-g 1 -> 分割やめる
Ctrl-g n or p -> ウインドウ移動
Ctrl-g d ->デタッチ
Ctrl-g [ ->コピー(スペースで開始→Enterで確定(何か分かりにくい))
Ctrl-g ] -> ペースト
Ctrl-g A ->ウインドウへの命名

まあこんくらいメモっとけば大丈夫だろう。

2012年12月2日日曜日

007SH電池消費

007SH(android 2.3)を使っている。
もともとバッテリーは少ないけど、待ち受けだけなら2日はもつ。
ところが何のタイミングか分からないけど、急に電池消費が激しくなる。



電池が急降下している間、ほとんどスリープなし状態。
とにかくいろんなプロセスを終了させたらスリープなし状態は終わった。


普通だったらこんなもん。
とりあえずスリープを無効にする権限を持ってるプロセスを調べた。
どれかが怪しいはず。

全然別の原因かも知れないけど。



多分ジョルテは入れる前から現象出てたはずだから無実だと思うとして、
他をちょっとずつ調べるのめんどくさい。


電話
ジョルテ
Android Assistant
Googleサービスフレームワーク
ワンセグ
HDMI
マップ
SHARP DMS
SharpIPCService
FeliCaObex
VideoConverterService
コンテンツマネージャー
BURS
アストロ
Dropbox
Google Play ストア


関係ないけどスクリーンショットのとり方をメモっておく。
通話終了キー+ホームキーで、/mnt/sdcard/screen shotにファイルができる。

追記>
犯人はBURS

2012年11月24日土曜日

ubuntu 12.10とpt2

ubuntu 12.10で、pt2をしばらく使ってみた。
一応動きはしたけど、どうも動きが怪しい。
カーネルに組み込まれてるDVB版のドライバで動かしているけど、
微妙に動きが変わっている。

12.04のカーネル(3.2.0-31)だと、ドライバのカーネルスレッドは常時動いていた。
なので、起動後にカーネルスレッドの優先度を上げたりできた。
(PT2(DVB)安定化検討中とか設定メモ: PT2(DVB)安定化検討中の続きとか)


12.10のカーネル(3.5.0)のDVB版ドライバは録画開始でスレッドが立ち上がるように変わったらしい。
カーネルスレッドの優先度を上げておくっていうやり方が使えなくなった。

また、データをドロップする確率がかなり上がってる感じ。
優先度上げても関係ないっぽいし、lowlatencyカーネルに変えても同じ。

もうしょうがないからカーネル3.2.0をそのまま使うことにした。
このままずっと治らなそうだなあ。

追記
最近更新して(3.5.0-23-lowlatency)ここ1週間くらいつかってみてるけど、
大丈夫っぽい。
特定のバージョンでのバグかもしれん。(おかしかったときは3.5.0-18くらいだったかな?)

2012年11月20日火曜日

acrobat readerで日本語

なんか普通に入れたら日本語読めない。
ここからダウンロードして入れたらOK

2012年11月16日金曜日

ubuntu 12.10とphpmyadmin

何か動かなくなった。今まで動いていたのに。

とりあえず以下を編集
/etc/apache2/conf.d/phpmyadmin.conf

こんなこと書いてあるのを、


        <IfModule mod_php5.c>
                AddType application/x-httpd-php .php

                php_flag magic_quotes_gpc Off
                php_flag track_vars On
                php_flag register_globals Off
                php_admin_flag allow_url_fopen Off
                php_value include_path .
                php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
                php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
        </IfModule>

apache/mods-enabled/php.confから一部使ってこうする。

        <IfModule mod_php5.c>
                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                        SetHandler application/x-httpd-php
                </FilesMatch>
                AddType application/x-httpd-php .php

                php_flag magic_quotes_gpc Off
                php_flag track_vars On
                php_flag register_globals Off
                php_admin_flag allow_url_fopen Off
                php_value include_path .
                php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
                php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
        </IfModule>

リスタートして終わり。
何なんだろう?AddTypeが意味なくなってんのかな?

2012年11月12日月曜日

ubuntu 12.10とepgrec

Ubuntu 12.10(Quantal Quetzal)
にアップグレードしてみた。

前に作ったPT2(DVB), epgrec用do-record.shは単体では動いたので大丈夫だろうと思って
放っておいたら、録画されてる内容が全然違ってた。
どうも録画されてるチャンネルはあってるけど時間が6時間くらいずれてるっぽい。
関係ありそうなのはatとphpで、atは問題なく動いたので、原因はphp。

何か分かんないけど、デフォルトのタイムゾーンがUTCに変わったっぽい。
(<? phpinfo(); ?>で調べたらそうなってるっぽい。)

とりあえず
/etc/php5/conf.d/5-timezone
を作って、
date.timezone = Asia/Tokyo
と書いたらOK

atのせいかとおもって予約全部消したから番組表全部ドロップして
getepg.phpを動かし直した。

それとは別にphpmyadminが動かなくなってしまったので、また調べないと。
多分userdirでsuphp使ってるところとmod_php5が何かあるんじゃないかと予想。

なんかアップグレードごとに毎回トラブルがあるなあ。
何か日本語変換が頭悪くなってる感じもするし。
いい加減にしてほしい。(LTSなのにアップグレードした自分が悪いんだけど)