Saqoosha

  1. About
  2. Archives
  3. Search
  4. Say
Language:

なんかしらんがみかんをのせるやつ

2008123101-Mikaned

追記(2009/1/3 AM 1:10):みかんまとめFace Detection → Mikaned

iTunes Connect Daily Report Auto Download Script

んや集計するほどのアプリまだないんだけど。準備。集計アプリっていろいろあるけどどれも勝手にやってくれるわけじゃないっぽいので、せめてダウンロードだけでも自動でやっとくやつ。ほっとくと消えてくしね。cron で 1 日 1 回適当な時間に走らせればダウンロードしといてくれる。Google Analytics みたいにメールで送るとか iTunes Connect 側でやってくれたらいいのになー。

#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use Config::Pit;
use Web::Scraper;
use IO::File;
 
# config
my $config = pit_get('iTunesConnect', require => {
    'username' => 'username',
    'password' => 'password'
});
 
# login
my $url = 'https://itts.apple.com/cgi-bin/WebObjects/Piano.woa';
my $mech = WWW::Mechanize->new();
$mech->agent_alias('Windows IE 6');
$mech->get($url);
$mech->submit_form(
    form_number => 1,
    fields  => {
        'theAccountName'    => $config->{username},
        'theAccountPW'      => $config->{password}
    }
);
if ($mech->title() ne 'iTunes Label Connect') {
    die "cannot loged in: " . $mech->title();
}
 
# select daily
$mech->submit_form(
    form_name   => 'frmVendorPage',
    fields      => {
        '9.7'   => 'Summary',
        '9.9'   => 'Daily',
        'hiddenDayOrWeekSelection'  => 'Daily',
        'hiddenSubmitTypeName'      => 'ShowDropDown'
    }
);
 
 
# download
my $opts = scraper {
    process 'select#dayorweekdropdown > option', 'date[]' => 'TEXT';
}->scrape($mech->content, $mech->uri);
 
my $latest = $opts->{date}[0];
 
$mech->submit_form(
    form_name   => 'frmVendorPage',
    fields      => {
        '9.7'   => 'Summary',
        '9.9'   => 'Daily',
        '9.11.1'    => $latest,
        'download'  => 'Download',
        'hiddenDayOrWeekSelection'  => $latest,
        'hiddenSubmitTypeName'      => 'Download'
    }
);
 
if ($mech->res()->header('Content-Disposition') =~ /filename=(.*)/) {
    print $1 . "\n";
    my $file = new IO::File($1, 'w');
    if (defined $file) {
        print $file $mech->content();
        $file->close;
    }
}

パッケージ足りなかったら CPAN で入れる。ログイン ID & PW は
perl -MConfig::Pit -e'Config::Pit::set("iTunesConnect", data=>{username=>"hoge\@example.com",password=>"hoge"})'
てな感じで設定。

Error 5005: Unknown error optimizing byte code

出るんだよ、このわけわからんエラーが。どうもいろーんなフレームワークを使いまくりとかでクラスファイルが多くなってくると出るみたい。ググったら 1 番目に出てくるページのコメント欄で解決法が書かれてたのですけど。日本語の情報がなかったので書いておこう。

原因はコンパイラ?のメモリ不足っぽい。で、メモリを増やすオプションをつけて Flash を起動すると問題なくパブリッシュできる。

Mac の場合。
とりあえずやってみるならターミナル起動して↓実行。

env JAVA_TOOL_OPTIONS=-Xmx1024M /Applications/Adobe\ Flash\ CS3/Adobe\ Flash\ CS3.app/Contents/MacOS/Adobe\ Flash\ CS3

追記:こっちのがいいわ。
env JAVA_TOOL_OPTIONS=-Xmx1024M open -a "Adobe Flash CS3"

コピペするよろし。環境変数に設定しちゃってもいいんだけど JAVA_TOOL_OPTIONS って他のアプリにも影響ありそうだからちょっとな。。あとで Automator アプリにするかな。つーか、Java なんだなー、コンパイラ。

Windows の場合。
なんらかの方法で環境変数を設定すればよろし。JAVA_TOOL_OPTIONS=-Xmx1024M って。

あー、これ CS3 での話だから CS4 でこのエラーが出るのか、出たときにこれで直るのかは不明。

気がついたらデコードしてた

20081220-Mediasmotion

怒られたら消す。

某サイトのモーションデータを変態的にエンコードしてるっていう話を聞いたからどんなんなってんのか調べてみてたらこんなんできましたっていうお話ほげほげうわなにをするやめあqwせdrftgyふじこlp;@

ムービーコラージュ


すげぇ。こういうの好き。