0b51abb9af3eea86b8378dda355f2bfd2231c2f4
[gwibber.git] / gwibber / microblog / pingfm.py
1
2 """
3
4 Ping.fm interface for Gwibber
5 SegPhault (Ryan Paul) - 11/09/2008
6
7 """
8 from . import can
9 import urllib2, urllib
10
11 PROTOCOL_INFO = {
12   "name": "Ping.fm",
13   "version": 0.1,
14   
15   "config": [
16     "private:app_key",
17     "send_enabled"
18   ],
19
20   "features": [
21     can.SEND,
22   ],
23 }
24
25 API_KEY = "7c3d2c111be8979ac236eecddf6679e7"
26
27 class Client:
28   def __init__(self, acct):
29     self.account = acct
30
31   def send_enabled(self):
32     return self.account["send_enabled"] and self.account["app_key"]
33
34   def connect(self, url, data = None):
35     data.update({"api_key": API_KEY, "user_app_key": self.account["private:app_key"]})
36     return urllib2.urlopen(urllib2.Request(url, urllib.urlencode(data))).read() 
37
38   def send(self, message):
39     return self.connect("http://api.ping.fm/v1/user.post",
40       {"post_method": "microblog", "body": message})