Alfred タグの一覧です(2 件)

[Alfred][Python]Alfredから直接Twitterへ投稿する〜Python編 追記

前回エントリーはこちら
[Alfred][Python]Alfredから直接Twitterへ投稿する〜Python編

Pythonから投稿する内容にスペース区切りがあっても結合して投稿するようにしていたのですが
スクリーンショット(2012-04-11 21.25.59)

なぜかバックスラッシュが紛れ込んでいる。Alfredからではなく作成したスクリプトをターミナルから実行した場合はバックスラッシュが入らない。小一時間悩んだ結果、原因判明。

スクリプトを記述する箇所の右上にAdvancedの文字があって、そこをクリックすると
スクリーンショット(2012-04-11 21.27.34)

クエリパラメータでのエスケープを指定できるらしく、スペース区切りがエスケープされていた。 スクリーンショット(2012-04-11 21.28.08)

これを外して解決

[Alfred][Python]Alfredから直接Twitterへ投稿する〜Python編

いつの間にかQuicksilverの代替えとして使っていたAlfredですが、PowerPackという有料オプションを使うとShellScriptとかAppleScriptなんかが実行出来るようになるみたいです。
なのでPythonでTwitterへAlfredから直接投稿するようにしてみました。
尚、このスクリプトを動かす前提条件としては

  • Twitterにオレオレクライアントの登録をして、OAuth用consumer_key、secret(及びaccess_token、secret)を発行
  • AlfredのPowerPackを購入(AlfredをApp Store経由で購入するとPowerPackのライセンス登録が出来ないっぽい!?)
  • tweepyとpitが必要

が必要かと思います。

で、作成した コードはこちらです
#!/usr/bin/env python
# coding: utf-8

import tweepy
from pit import Pit

def main(post):
    #OAuth setting
    consumer_config = Pit.get('oauth_conf')
    auth = tweepy.OAuthHandler(consumer_config['consumer_key'],
                                consumer_config['consumer_secret'])
    access_config = Pit.get('access_userid')
    auth.set_access_token(access_config['access_token'],
                                access_config['access_secret'])

    api = tweepy.API(auth)
    #print post
    api.update_status(post)

if __name__ == '__main__':
    import sys
    main(unicode(' '.join(sys.argv[1:]), 'utf-8'))

こちらのコードをAlfredに登録します
Alfred Preferences

こんな感じです
Alfred Preferences

Alfredを呼び出して呼び出しキーワード+ツイート内容で投稿できます。 スクリーンショット(2012-03-29 21.45.27)

Mac OS X 10.6.8 のPython2.6.1で動作確認してます。
PAGE TOP