fixed socket name collision in xmlstream.py and fixed python 3.x compatibility
This commit is contained in:
parent
a41a4369c6
commit
0d0b963fe5
6 changed files with 19 additions and 16 deletions
6
setup.py
6
setup.py
|
@ -44,10 +44,14 @@ packages = [ 'sleekxmpp',
|
|||
'sleekxmpp/xmlstream',
|
||||
'sleekxmpp/xmlstream/matcher',
|
||||
'sleekxmpp/xmlstream/handler',
|
||||
'sleekxmpp/xmlstream/tostring',
|
||||
'sleekxmpp/thirdparty',
|
||||
]
|
||||
|
||||
if sys.version_info < (3, 0):
|
||||
py_modules = ['sleekxmpp.xmlstream.tostring.tostring26']
|
||||
else:
|
||||
py_modules = ['sleekxmpp.xmlstream.tostring.tostring']
|
||||
|
||||
setup(
|
||||
name = "sleekxmpp",
|
||||
version = VERSION,
|
||||
|
|
|
@ -162,7 +162,8 @@ class ClientXMPP(BaseXMPP):
|
|||
intmax += answer.priority
|
||||
addresses[intmax] = (answer.target.to_text()[:-1],
|
||||
answer.port)
|
||||
priorities = addresses.keys()
|
||||
#python3 returns a generator for dictionary keys
|
||||
priorities = [x for x in addresses.keys()]
|
||||
priorities.sort()
|
||||
|
||||
picked = random.randint(0, intmax)
|
||||
|
|
|
@ -290,7 +290,6 @@ class DefaultConfig(ElementBase):
|
|||
|
||||
def setConfig(self, value):
|
||||
self['form'].setStanzaValues(value.getStanzaValues())
|
||||
print self['form']['title']
|
||||
return self
|
||||
|
||||
registerStanzaPlugin(PubsubOwner, DefaultConfig)
|
||||
|
@ -370,7 +369,6 @@ class OwnerDefault(OwnerConfigure):
|
|||
|
||||
def setConfig(self, value):
|
||||
self['form'].setStanzaValues(value.getStanzaValues())
|
||||
print self['from']['title']
|
||||
return self
|
||||
|
||||
registerStanzaPlugin(PubsubOwner, OwnerDefault)
|
||||
|
|
|
@ -53,7 +53,7 @@ class SleekTest(unittest.TestCase):
|
|||
try:
|
||||
xml = ET.fromstring(xml_string)
|
||||
return xml
|
||||
except SyntaxError, e:
|
||||
except SyntaxError as e:
|
||||
if 'unbound' in e.msg:
|
||||
known_prefixes = {
|
||||
'stream': 'http://etherx.jabber.org/streams'}
|
||||
|
|
8
sleekxmpp/thirdparty/statemachine.py
vendored
8
sleekxmpp/thirdparty/statemachine.py
vendored
|
@ -268,11 +268,11 @@ class _StateCtx:
|
|||
if __name__ == '__main__':
|
||||
|
||||
def callback(s, s2):
|
||||
print 1, s.transition('on', 'off', wait=0.0, func=callback, args=[s,s2])
|
||||
print 2, s2.transition('off', 'on', func=callback, args=[s,s2])
|
||||
print((1, s.transition('on', 'off', wait=0.0, func=callback, args=[s,s2])))
|
||||
print((2, s2.transition('off', 'on', func=callback, args=[s,s2])))
|
||||
return True
|
||||
|
||||
s = StateMachine(('off', 'on'))
|
||||
s2 = StateMachine(('off', 'on'))
|
||||
print 3, s.transition('off', 'on', wait=0.0, func=callback, args=[s,s2]),
|
||||
print s.current_state(), s2.current_state()
|
||||
print((3, s.transition('off', 'on', wait=0.0, func=callback, args=[s,s2]),))
|
||||
print((s.current_state(), s2.current_state()))
|
||||
|
|
|
@ -10,7 +10,7 @@ from __future__ import with_statement, unicode_literals
|
|||
|
||||
import copy
|
||||
import logging
|
||||
import socket
|
||||
import socket as Socket
|
||||
import ssl
|
||||
import sys
|
||||
import threading
|
||||
|
@ -165,7 +165,7 @@ class XMLStream(object):
|
|||
if sys.version_info < (3, 0):
|
||||
self.socket_class = Socket26
|
||||
else:
|
||||
self.socket_class = socket.socket
|
||||
self.socket_class = Socket.socket
|
||||
|
||||
self.use_ssl = False
|
||||
self.use_tls = False
|
||||
|
@ -247,7 +247,7 @@ class XMLStream(object):
|
|||
|
||||
def _connect(self):
|
||||
self.stop.clear()
|
||||
self.socket = self.socket_class(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.socket = self.socket_class(Socket.AF_INET, Socket.SOCK_STREAM)
|
||||
self.socket.settimeout(None)
|
||||
if self.use_ssl and self.ssl_support:
|
||||
logging.debug("Socket Wrapped for SSL")
|
||||
|
@ -265,7 +265,7 @@ class XMLStream(object):
|
|||
#this event is where you should set your application state
|
||||
self.event("connected", direct=True)
|
||||
return True
|
||||
except socket.error as serr:
|
||||
except Socket.error as serr:
|
||||
error_msg = "Could not connect. Socket Error #%s: %s"
|
||||
logging.error(error_msg % (serr.errno, serr.strerror))
|
||||
time.sleep(1)
|
||||
|
@ -297,8 +297,8 @@ class XMLStream(object):
|
|||
try:
|
||||
self.socket.close()
|
||||
self.filesocket.close()
|
||||
self.socket.shutdown(socket.SHUT_RDWR)
|
||||
except socket.error as serr:
|
||||
self.socket.shutdown(Socket.SHUT_RDWR)
|
||||
except Socket.error as serr:
|
||||
pass
|
||||
finally:
|
||||
#clear your application state
|
||||
|
@ -670,7 +670,7 @@ class XMLStream(object):
|
|||
except SystemExit:
|
||||
logging.debug("SystemExit in _process")
|
||||
self.stop.set()
|
||||
except socket.error:
|
||||
except Socket.error:
|
||||
logging.exception('Socket Error')
|
||||
except:
|
||||
logging.exception('Connection error. Reconnecting.')
|
||||
|
|
Loading…
Reference in a new issue