読者です 読者をやめる 読者になる 読者になる

java_infoプロパティをdeprecatedにした

Python Softbank

uamobile.softbankには元々のPerl版(HTTP::MobileAgent)に由来するjava_infoというプロパティがあって、

SoftBank/1.0/943SH/SHJ001 Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1

のようなUser-Agentの、

Profile/MIDP-2.0 Configuration/CLDC-1.1

の部分を辞書にして返していた。はっきり言って、誰が何のために使うか分からないプロパティである。

全く使うことがない情報であっても、ProfileとかConfigurationだけでなく、WdigetsやFlash等の情報も取れたほうがいいし、Javaと関係のない情報にjava_infoというプロパティでアクセスするのは気持ち悪すぎるので、infoというプロパティに改めた。

以下のような情報が取得できる。

>>> from uamobile import detect
>>> ua = detect({'HTTP_USER_AGENT': 'SoftBank/1.0/943SH/SHJ001 Browser/NetFront/3.5 Profile/MIDP-2.0 Configuration/CLDC-1.1'})
>>> ua.info
{'Profile': 'MIDP-2.0', 'Configuration': 'CLDC-1.1', 'Browser': 'NetFront/3.5'}
>>> ua = detect({'HTTP_USER_AGENT': 'SoftBank/1.0/943SH/SHJ001 Java/Java/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1'})
>>> ua.info
{'Profile': 'MIDP-2.0', 'Configuration': 'CLDC-1.1', 'Java': 'Java/1.0'}
>>> ua = detect({'HTTP_USER_AGENT': 'SoftBank/1.0/943SH/SHJ001 Widgets/Widgets/2.0'})
>>> ua.info
{'Widgets': 'Widgets/2.0'}
>>> ua = detect({'HTTP_USER_AGENT': 'SoftBank/1.0/943SH/SHJ001 Flash/Flash-Lite/3.1'})
>>> ua.info
{'Flash': 'Flash-Lite/3.1'}

いままでjava_infoの部分が1つだけテストが失敗する状態だったので、これを機会に修正した。これが一番重要な変更だった気がする。

c.f.