From c101bbc442950560a17b27bc45cde714ac2c81c7 Mon Sep 17 00:00:00 2001 From: yvesf Date: Thu, 28 May 2009 10:49:16 +0000 Subject: iad git-svn-id: http://xapek.org/svn/common/omegle@1025 d0e8fea9-7529-0410-93fb-d39fd5b9c1dd --- omegle.py | 5 ++++- proxy.py | 13 +++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/omegle.py b/omegle.py index 9a02fbb..ab3c2d0 100644 --- a/omegle.py +++ b/omegle.py @@ -9,6 +9,7 @@ from threading import Thread, Lock class Timer(Thread): def __init__(self,func,interval=0.50): Thread.__init__(self) + self.logger = logging.getLogger(__name__ + "." + self.__class__.__name__) self.func = func self.interval = interval @@ -19,6 +20,7 @@ class Timer(Thread): while self.running: self.func() time.sleep(self.interval) + self.logger.debug("self.running == False") def stop(self): self.running = False @@ -59,8 +61,8 @@ class OmegleChat(object): self.timer.start() def disconnect(self): + self.logger.debug("/disconnect") self.timer.stop() - self.conn_lock.acquire() self.conn.request("POST", "/disconnect", @@ -69,6 +71,7 @@ class OmegleChat(object): r = self.conn.getresponse() self.conn_lock.release() body = r.read() + self.logger.debug("/disconnect sent. Read: %s" % body) if body == "win": self.is_connected = False else: diff --git a/proxy.py b/proxy.py index 1711198..a5b0803 100644 --- a/proxy.py +++ b/proxy.py @@ -31,14 +31,19 @@ class OmegleProxyChat(OmegleChat): print self.c("%s [EVT] %s Connection confirmed" % (time.strftime("%H:%M:%S"), self.name)) def on_typing(self): print self.c("%s [EVT] %s is typing" % (time.strftime("%H:%M:%S"), self.name)) - self.partner.typing() + if self.partner.is_connected: + self.partner.typing() def on_stopped_typing(self): print self.c("%s [EVT] %s stopped typing" % (time.strftime("%H:%M:%S"), self.name)) - self.partner.stopped_typing() + if self.partner.is_connected: + self.partner.stopped_typing() def on_disconnect(self): print self.c("%s [EVT] %s disconnect" % (time.strftime("%H:%M:%S"), self.name)) + if self.partner.is_connected: + self.partner.disconnect() chat_lock.release() + logging.basicConfig(level=logging.DEBUG) print "press ctrl-c to abort" @@ -55,11 +60,11 @@ chat_lock.acquire() try: while True: if chat_lock.acquire(0): - break + print "One part disconnected, exiting" else: time.sleep(0.5) except KeyboardInterrupt: - pass + print "CTRL-C pressed, exiting" if A.is_connected: A.disconnect() if B.is_connected: B.disconnect() -- cgit v1.2.1