投稿者のアーカイブ

IronPythonでもRequestsが使いたい

Requests: 人間のためのHTTP
http://ja.python-requests.org/en/latest/

Pythonの便利なHTTPライブラリ Requests を IronPython でも使いたいわけです。
こんなことを書いているということは素直には使えないわけです。

一応動作してるかな〜、というところまで行けたのでメモしときます。IronPython は 2.7.3 で、Requests は 1.1.0 です。

ポイントは2つ。

まず一つ目。

sys._getframe が必要なので ipy.exe (or ipy64.exe) に -X:Frames オプションを付けて起動する。

オプションはこんな感じで確認できます。

C:\Users\murave>ipy -help
Usage: ipy.exe Usage: ipy [options] [file.py|- [arguments]]
 <前略>
 -X:Frames                Enable basic sys._getframe support
 <後略>

2つ目。IronPython には idna エンコーディングがないので回避する。

requests の models.py で使用されているので取り敢えずコメントアウト。

idnaで検索すると290行目あたりで使用されてます。

#        try:
#            netloc = netloc.encode('idna').decode('utf-8')
#        except UnicodeError:
#            raise InvalidURL('URL has an invalid label.')

netloc = netloc.encode(‘utf-8′).decode(‘utf-8′) に書き換えてみたりもしたのですが馬鹿らしい気がするのでコメントアウトしました。
おそらくこの影響で「ドメインとURLの国際化」は未対応になってしまってますが、動かないよりはいいかと。

C:\Users\murave>ipy -X:Frames
IronPython 2.7.3 (2.7.0.40) on .NET 4.0.30319.18010 (32-bit)
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> import json
>>> r = requests.get('http://172.16.191.1:8001/api/v1_0/poll/')
>>> r.text
u'{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_cou
nt": 3}, "objects": [{"id": 1, "pub_date": "2013-03-05T13:51:15", "question": "W
hat\'s up?", "resource_uri": "/api/v1_0/poll/1/"}, {"id": 2, "pub_date": "2013-0
3-06T10:01:35", "question": "\u65e5\u672c\u8a9e\u30c6\u30b9\u30c8", "resource_ur
i": "/api/v1_0/poll/2/"}, {"id": 3, "pub_date": "2013-03-06T13:51:15", "question
": "\u3044\u3044\u3044", "resource_uri": "/api/v1_0/poll/3/"}]}'
>>> res = r.json()
>>> print res['objects'][1]['question']
日本語テスト
>>> payload = {"pub_date": "2013-03-08T20:19:15", "question": "どうかね?"}
>>> r = requests.post('http://172.16.191.1:8001/api/v1_0/poll/', data=json.dumps(payload), headers={"Content-Type": "application/json"})
>>> r 
<Response [201]>
>>> payload = {"pub_date": "2013-03-08T20:19:15", "question": "putは?"}
>>> r = requests.put('http://172.16.191.1:8001/api/v1_0/poll/1/', data=json.dumps(payload), headers={"Content-Type": "application/json"})
>>> r
<Response [204]>
>>> r = requests.delete('http://172.16.191.1:8001/api/v1_0/poll/1/')
>>> r
<Response [204]>

と、requests.get、requests.post、requests.put、requests.delete 動いているようです。

Popularity: 2% [?]

Eclipseでプロジェクトが表示されなくて翻弄される

Netbeansが好きなmuraveです。おはようございます。ご無沙汰しております。

Eclipseさん、苦手なのですが、強力なので使うことも多いです(DBモデリングでERMasterとか)。
今回は主にPythonの開発環境としてPyDevを使いたくて環境をつくりました。

最初、PyDevプラグインだけをいれて作業していたのですがHTMLエディターがなかったのでAptana Studio全部を入れたほうがいいなと(PyDevが入っていると依存性エラーがでてインストールできなかったので)PyDevをアンインストールしてからAptana Studioをインストールしました。

すると、作業していたプロジェクトが見えなくなりました。 ギャーー!

File > Import > Existing Projects into Workspace

で読み込もうとしても

「Some projects cannot be imported because they already exist in the workspace」

プロジェクトはあると言われててます。見えないのに。

いろいろと試しましたが結局昨日は解決できませんでした。

今朝、試しに別途新しいプロジェクトを作ったのですがそれも見えなくて「これはPyDevの問題か?」とJavaパースペクティブに切り替えたところプロジェクトが見える! 設定の問題? それとも壊れてる?

結論は Packege Explorer の Top Level Elements が Working Sets になっていたためでした。

Projectsに変更すると

表示されました。ほっ。

基本的なことなのでしょうが、絶望的な気分になりました。

Popularity: 2% [?]

Eサイクルがやってきた

『CEATEC JAPAN 2012』長崎県ブースに一緒に出展した有安オートさんのEサイクル「ISOLA」。
一目惚れして即発注でした。

本日、ついにやって来ました。折りたたみにパワーアップして!

折りたたんだ状態はこんな感じ。

組み立てた状態のは私(murave)の、折りたたみ状態のはminemazさんのです。

有安オートさんのページ
https://sites.google.com/site/ariyasuauto/

Eサイクル「ISOLA」のページ
http://www.isola-japan.com/

Popularity: 3% [?]

いらっしゃいませ OSC2012福岡

ブースこんな感じです。エレベーターで上がってきたらすぐというナイスポジション。
「受付ですか?」と言われガチなのがたまに傷デス。

あと喫煙所(屋上?)へもウチのブースの横から出れますヨ。

セミナー関係は14時からは @minemaz が

『県庁並行稼働中!OpenCOBOL汎用機ダウンサイジングでのハマりどころ』

というセミナーを行います。

また、12時からの

『OSS九州サミットあげいん ~横の連携、深めていきますよぉ~』

にも @minemaz がパネリストとして登場します。

よろしくお願いします。

おまけ。缶バッチ((C)みさくらなんこつ・JACUG)に侵略された自由配布ブース。

Popularity: 2% [?]

福岡Ruby会議01 その後の話

先週の土曜日、福岡Ruby会議01に参加しました。とても、とても刺激的な一日でした。

@Spring_MT さんがきれいにまとめてくださってます。

福岡Ruby会議01を開催 & トークしてきました! – CubicLouve

当日の話はそちらを見てもらったほうが良いなぁと思ったので個人的なその後の話を。

レールにのってて大丈夫か?

@kakutaniさんの話に出てきた札幌Ruby会議2012での@ursmさんの発表「Ruby on Rails: The Bad Parts」が気になったので動画を見ました。とても良かったです。

RailsやRailsっぽいWebフレームワークを扱っている人は見るべきだと思います。

ウチでもRubyでフィジカルコンピューティング

山崎さんのLT「Rubyでフィジカルコンピューティング」

最後のページにこうありましたね

「実験協力者募集中!」

てなわけで長崎代表として借りてきました BeagleBone!

先ほど山崎さんが作成されたディスクイメージで起動して設置しました!

いまのところ順調にログがとれているそうです。どんなデータがとれるか楽しみ!

Popularity: 2% [?]

Thunderbirdさんにディスクを超食われてた件

おかしいとは思ってたんだけど、そんなわけないと思ってたんだ。長い付き合いゆえの思い込みってやつ。

「覚えがないのになんかディスクの空き容量が減っていく」

いくらなんでもおかしいと調べたらThunderbirdさんに160GB超もっていかれてました。

どうもIMAP使用時「同期とディスク領域」のデフォルト設定が「すべてのメッセージをローカルに同期する」に変更になったらしい。しばらく前にトラブルがあって再インストールしたのでその後に設定が変わってしまっていたようだ。たぶん。

こうなってました。

サーバーに蓄積したメール(とたぶん添付ファイルも)ローカルにダウンロードしつづけていたわけで。

設定変えて、

「ファイル」メニューから「フォルダを最適化」したら160GB空き容量が増えましたヽ(´ー`)ノ

Popularity: 6% [?]

OSC2012大分Fallいいね!

はじまりました。

ブースを出してるとなかなかセミナーに参加できなくて残念だったりするんですが、今回はブースとセミナーが同室なので全部聞けます。

うれしい!

Popularity: 2% [?]

やって来ました OSC2012広島

広島国際学院大学の入口、心臓破りの坂すぎる。

おはようございます。

いきなり汗ダラダラでゼーハーしましたがブース設営後はまったりムードです。

11時をまわってぼちぼち人が増えてきたかな〜って感じ。

今回はセミナーも私がします。104D教室で13時からです。

『県庁並行稼働中!OpenCOBOL汎用機ダウンサイジングでのハマりどころ』

「元ネタを知ってるひとが少なすぎる」という理由で封印したネタ復活させました。

元ネタの映画公開記念です。知っている人が増えていると期待。

諸般の事情でスライドは公開できません。 来てね★

Popularity: 2% [?]

CEATEC JAPAN 2012 最終日

CEATEC JAPAN 2012、ついに最終日です。

土曜日、無料公開日だけあって朝から入り口に長蛇の列。

通路も人いっぱい。

長崎県ブース。

ロボット相撲大会などのイベントもあってました。

昼食に行く時に一戦だけ見ることができました。自律動作での対決は面白い!

おつかれ様でした。

Popularity: 2% [?]

CEATEC JAPAN 2012 3日目

朝一番でざっと一周回ってみました。

ソニーさんのヘッドマウントディスプレイ。開場直後なのに120分待ち!

ヘッドマウントディスプレイをしてるひとたちが並んで立ってるとなんか怖い。

富士通さん、京。

Pioneerさん(主観的判断により大きめの画像にしましたのでクリックで拡大します)。

今回、試乗スペースとか車関係のデモスペースがやたらと広いです。

個人的におもしろかったモノ。

マッスルスーツ。重い物持ち上がっちゃうよ。

KYOCERAさんの新感覚タッチパネル。ボタン(アイコン)の場所をタッチするとフィードバックが来てクリック感があります。タッチパネルの操作がとても直感的に。一般化するといいなぁ。

おまけ。
となりのブースで Angry Birds に興じる弊社代表っぽい感じの後ろ姿。

Popularity: 2% [?]