蔦箱(蔦箱)

gfeedlineでユーザーが追加出来ない事と対処法(ElementaryOS)

遠回りな解決をしてるような気がする。



gfeedline
 

作者の方によるとこの問題はPython2.79で発生するそうです。現在はgfeedline2.4.6beta1以降で問題が解決しているそうです。



ElementaryOS(Ubuntu12.04が綺麗になったやつ)をインストールしてからよさ気なTwitterクライアントを探しています。
gfeedlineがよさ気だなーと思ってインストールしたものの、ブラウザにPINが表示されずアカウントの追加がうまく行かない・・。

運良く、gfeedlineはPythonアプリケーションだったため、コマンドラインから実行して見たことろアカウントの追加の時に以下のようなエラーが起きていた。
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gfeedline/plugins/twitter/assistant.py", line 79, in on_prepare
uri, self.token = self.authorization.open_authorize_uri()
File "/usr/lib/python2.7/dist-packages/gfeedline/plugins/base/getauthtoken.py", line 61, in open_authorize_uri
context = ssl._create_unverified_context()
AttributeError: 'module' object has no attribute '_create_unverified_context'

問題のソースコード(getauthtoken.py)はこんな感じだった。
import ssl
context = ssl._create_unverified_context()#61行目

stream = urllib.urlopen(request.to_url(),context=context)
tokendata = stream.read()
token = oauth.OAuthToken.from_string(tokendata)

問題の箇所は何でもいいからsslのソケットを作ってレスポンスを読むだけの箇所だったので、簡単にSSL通信が行えるurllib2で置き換えることにした。


import urllib2
opener = urllib2.build_opener(urllib2.HTTPSHandler())
urllib2.install_opener(opener)

stream = urllib2.urlopen(request.to_url())

tokendata = stream.read()
token = oauth.OAuthToken.from_string(tokendata)

アカウントが追加できた。

_create_unverified_contextは標準ライブラリのメンバになっかったのだけど、これは他のライブラリの関数だろうか・・・(インストールしわすれたライブラリがある?)。
Linuxは自分で色々できていいですね(クライアントで使い始めて2日目)。

参考資料
http://docs.python.jp/2/library/urllib2.html



-サイトのコンテンツ-


記事
記事とか書きます.
新記事
新しい記事.
蔦箱(ツタハコ)
トップページ
作成物
作成した物とか置きます.
その他
適当


連絡先: