70 lines
1.9 KiB
Python
70 lines
1.9 KiB
Python
from sleekxmpp import ClientXMPP
|
|
import logging
|
|
|
|
|
|
# def tracefunc(frame, event, arg, indent=[0]):
|
|
# prefix = "/Users/sangeeth/code/SleekXMPP/sleekxmpp/"
|
|
# if not frame.f_code.co_filename.startswith(prefix):
|
|
# return tracefunc
|
|
# if event == "call":
|
|
# indent[0] += 2
|
|
# cn = getattr(
|
|
# getattr(frame.f_locals.get("self"), "__class__", None),
|
|
# "__name__", None
|
|
# )
|
|
# print "{}{} {} {}".format(
|
|
# "." * indent[0], frame.f_code.co_filename[len(prefix):],
|
|
# cn, frame.f_code.co_name
|
|
# )
|
|
# elif event == "return":
|
|
# indent[0] -= 2
|
|
# return tracefunc
|
|
#
|
|
#
|
|
# import sys
|
|
# sys.settrace(tracefunc)
|
|
|
|
|
|
class HTTPOverXMPPClient(ClientXMPP):
|
|
def __init__(self, jid, password):
|
|
ClientXMPP.__init__(self, jid, password)
|
|
|
|
self.register_plugin('xep_0332') # HTTP over XMPP
|
|
# self.register_plugin('xep_0030') # Service Discovery
|
|
# self.register_plugin('xep_0004') # Data Forms
|
|
# self.register_plugin('xep_0060') # PubSub
|
|
# self.register_plugin('xep_0199') # XMPP Ping
|
|
#
|
|
# self.add_event_handler("session_start", self.session_start)
|
|
# self.add_event_handler("connected", self.connected)
|
|
#
|
|
# def session_start(self, event):
|
|
# print "Client::session_start()"
|
|
# self.send_presence()
|
|
# print self.get_roster()
|
|
#
|
|
# def connected(self, event):
|
|
# print "Client::connected()"
|
|
|
|
|
|
def get_cred(filename="/tmp/.cred"):
|
|
with open(filename, "r") as f:
|
|
return f.readline().split()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
logging.basicConfig(
|
|
level=logging.DEBUG, format='%(levelname)-8s %(message)s'
|
|
)
|
|
|
|
jid, password = get_cred()
|
|
xmpp = HTTPOverXMPPClient(jid, password)
|
|
if xmpp.connect(("talk.l.google.com", 5222)):
|
|
print "Connected!"
|
|
xmpp.process(block=True)
|
|
else:
|
|
print "Not connected!"
|
|
print "Goodbye...."
|
|
|
|
|