root/lang/python/misc/imkayac.py @ 6846

Revision 6846, 1.9 kB (checked in by mattn, 5 years ago)

lang/python/misc/imkayac.py:
added bits code for SHA1 authentication.

  • Property svn:executable set to *
Line 
1#! /usr/bin/env python
2# coding:utf-8
3
4"""
5imkayac.py
6This script send message to im.kayac.com .
7ver 0.1
8
9Created by atusi on 2008-02-17.
10Copyright (c) 2008 __atusi nakamura__. All rights reserved.
11
12## how to use ##
13from imkayac import *
14a = KayaTalk("yourID", "yourPass")
15a.send("your message")
16################
17
18if you use SHA1 authentication, see following.
19################
20from imkayac import *
21a = KayaTalk("yourID", "yourPass", True)
22a.send("your message")
23################
24
25"""
26import urllib
27import sha
28import base64
29
30class KayaTalk(object):
31    """docstring for IMer"""
32    def __init__(self, usrname, password=None, shaAuth=False):
33        #super(IMer, self).__init__()
34        self.usrname = usrname
35        self.password = password
36        self.message = {}
37        self.base_url = "http://im.kayac.com/api/post/"
38        self.shaAuth = shaAuth
39
40    def send(self, message):
41        """docstring for sendData"""
42        if (self.password != None):
43            if self.shaAuth:
44                self.message["sig"] = sha.new(message + self.password).hexdigest()
45            else:
46                self.message["password"] = self.password
47        self.message["message"] = message
48        self.params = urllib.urlencode( self.message )
49        d = urllib.urlopen(self.base_url+self.usrname, self.params)
50        #x = d.readline()
51        #print x
52        d.close
53
54if __name__ == '__main__':
55    import sys
56    if len(sys.argv) < 3:
57        print >> sys.stderr, "Usage: username [password] message"
58        sys.exit(1)
59   
60    else:
61        if (len(sys.argv)==4):
62            if sys.argv[2][:5] == "sha1:":
63                a = KayaTalk(sys.argv[1], sys.argv[2][5:], True)
64            else:
65                a = KayaTalk(sys.argv[1], sys.argv[2])
66            a.send("%s"%(sys.argv[3]))
67        else:
68            a = KayaTalk(sys.argv[1])
69            a.send("%s"%(sys.argv[2]))
70       
71
72   
Note: See TracBrowser for help on using the browser.