を使用したいのですpython-twitter
が、クラスを拡張しStatus
ていくつかの新しいメソッドと属性を追加します。これを行うためのpythonicの方法は何ですか?
現時点では、属性と新しい機能をに追加する関数がありますStatus
。
process_status(status):
status.datetime = ...
status.phrase = ...
prettyprint_status(status):
# do something...
当然、コンストラクターに余分なメソッドを追加したいだけStatus
です。次のように、各クラスの新しい実装を含む新しいモジュールを作成することを提案する、これについて議論しているスタックオーバーフローの質問を見つけました。ext-twitter
# ext_twitter.py
import twitter
class Api(twitter.Api):
pass
class Status(twitter.Status):
def __init__(self, *args):
twitter.Status.__init__(self, *args)
self.args = args
self.time = parseTime(self.created_at)
self.phrase = ...
def prettyprint(self):
# something
ただし、Status
クラスは Twitter API オブジェクトによって生成され、ここでは拡張された Status クラスへの参照を持たないext-twitter.Api()
呼び出しであるため、これは機能しません。python-twitter.Api()
フォークして独自のバージョンを作成せずに、機能を python-twitter モジュールに追加する方法はありますか?