Changeset 3225 for lang/python/hatenaapigraph
- Timestamp:
- 12/17/07 21:25:24 (13 months ago)
- Location:
- lang/python/hatenaapigraph
- Files:
-
- 1 added
- 1 modified
-
hatenaapigraph.py (modified) (4 diffs)
-
setup.py (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/python/hatenaapigraph/hatenaapigraph.py
r3108 r3225 1 1 #!/opt/local/bin/python2.5 2 2 # -*- coding: utf-8 -*- 3 # http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%B0%A5%E9%A5%D5api 4 # http://rubyforge.org/projects/hatenaapigraph/ 5 # 6 3 7 import base64 4 8 import random 5 9 import sha 10 import urllib2 11 import urllib 6 12 from datetime import date,datetime 7 import urllib2 13 14 import yaml 8 15 9 16 def __http_response(self, request, response): … … 20 27 class WSSEHeader(urllib2.BaseHandler) : 21 28 22 def __init__(self, userid,passwd):29 def __init__(self, userid, passwd): 23 30 self.userid = userid 24 31 self.passwd = passwd … … 40 47 41 48 def http_request(self,req): 42 req.add_header('X-WSSE', self.get_wsse())49 req.add_header('X-WSSE', self.get_wsse()) 43 50 return req 44 51 45 import urllib46 import yaml47 52 class HatenaGraph: 48 53 … … 51 56 GRAPH_API_CONFIG_URI = GRAPH_API_URL + 'config' 52 57 53 def __init__(self, userid,passwd):58 def __init__(self, userid, passwd): 54 59 self.userid = userid 55 60 self.passwd = passwd 56 61 57 62 58 def get_data(self, graphname,userid =None):63 def get_data(self, graphname, userid=None): 59 64 if userid is None: 60 65 userid = self.userid 61 66 params = { 62 "graphname": graphname,63 "type" : "yaml",64 "username": userid67 'graphname' : graphname, 68 'type' : 'yaml', 69 'username' : userid 65 70 } 66 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd))71 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd)) 67 72 params = urllib.urlencode(params) 68 data = opener.open(self.GRAPH_API_DATA_URI+ "?%s"%params);73 data = opener.open(self.GRAPH_API_DATA_URI+'?%s' % params) 69 74 return yaml.load(data) 70 75 71 def post_data(self, graphname,value,updatedate =date.today()):76 def post_data(self, graphname, value, updatedate=date.today()): 72 77 params = { 73 "graphname": graphname,74 "value": value,75 "date" : updatedate.strftime("%Y-%m-%d")78 'graphname' : graphname, 79 'value' : value, 80 'date' : updatedate.strftime('%Y-%m-%d') 76 81 } 77 82 params = urllib.urlencode(params) 78 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd))79 return opener.open(self.GRAPH_API_DATA_URI, params);83 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd)) 84 return opener.open(self.GRAPH_API_DATA_URI, params) 80 85 81 def get_config(self, graphname,userid =None):86 def get_config(self, graphname, userid=None): 82 87 params = { 83 "graphname": graphname,84 "type" : "yaml",88 'graphname' : graphname, 89 'type' : 'yaml', 85 90 } 86 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd))91 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd)) 87 92 params = urllib.urlencode(params) 88 data = opener.open(self.GRAPH_API_CONFIG_URI+ "?%s"%params);93 data = opener.open(self.GRAPH_API_CONFIG_URI+'?%s' % params) 89 94 return yaml.load(data) 90 95 91 def post_config(self, graphname,params):92 params[ "graphname"] = graphname96 def post_config(self, graphname, params): 97 params['graphname'] = graphname 93 98 params = urllib.urlencode(params) 94 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd))95 return opener.open(self.GRAPH_API_CONFIG_URI, params);99 opener = urllib2.build_opener( WSSEHeader(self.userid, self.passwd)) 100 return opener.open(self.GRAPH_API_CONFIG_URI, params)
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)