Skip to content
Snippets Groups Projects
Commit f787d2c1 authored by sb's avatar sb
Browse files

fix file transfer,

add log messages for zeroconf,
refresh name changes of roster items (on resolve)
parent 341e8886
No related branches found
No related tags found
No related merge requests found
......@@ -53,7 +53,7 @@ class ZeroconfListener(IdleObject):
self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
self._serv.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
# will fail when port as busy, or we don't have rights to bind
# will fail when port is busy, or we don't have rights to bind
try:
self._serv.bind(('0.0.0.0', self.port))
except Exception, e:
......@@ -500,7 +500,6 @@ class ClientZeroconf:
BindPortError(port)
return None
def getRoster(self):
return self.roster.getRoster()
......
......@@ -149,7 +149,7 @@ class ConnectionBytestream:
except socket.gaierror:
self.dispatch('ERROR', (_('Wrong host'), _('The host you configured as the ft_override_host_to_send advanced option is not valid, so ignored.')))
ft_override_host_to_send = self.peerhost[0]
listener = gajim.socks5queue.start_listener(self.peerhost[0], port,
listener = gajim.socks5queue.start_listener(port,
sha_str, self._result_socks5_sid, file_props['sid'])
if listener == None:
file_props['error'] = -5
......
......@@ -188,11 +188,10 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
self.zeroconf.resolve_all()
diffs = self.roster.getDiffs()
for key in diffs:
print key
print self.roster.getStatus(key)
print self.roster.getMessage(key),
self.roster.setItem(key)
self.dispatch('ROSTER_INFO', (key, self.roster.getName(key), 'both', 'no', self.roster.getGroups(key)))
self.dispatch('NOTIFY', (key, self.roster.getStatus(key), self.roster.getMessage(key), 'local', 0, None, 0))
#XXX open chat windows don't get refreshed (full name), add that
return self.call_resolve_timeout
# callbacks called from zeroconf
......@@ -243,9 +242,9 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
self.connected = STATUS_LIST.index(show)
# refresh all contacts data every second
# refresh all contacts data every five seconds
self.call_resolve_timeout = True
gobject.timeout_add(10000, self._on_resolve_timeout)
gobject.timeout_add(5000, self._on_resolve_timeout)
else:
self.dispatch('STATUS', 'offline')
self.status = 'offline'
......@@ -326,8 +325,6 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
(_('Could not change status of account "%s"') % self.name,
_('Please check if avahi-daemon is running.')))
def get_status(self):
return STATUS_LIST[self.connected]
......@@ -399,7 +396,6 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
else:
kind = 'single_msg_sent'
gajim.logger.write(kind, jid, log_msg)
#~ self.zeroconf.send_message(jid, msgtxt, type)
self.dispatch('MSGSENT', (jid, msg, keyID))
......
......@@ -115,13 +115,13 @@ class Roster:
def getGroups(self, jid):
return self._data[jid]['groups']
def getName(self, jid):
if self._data.has_key(jid):
return self._data[jid]['name']
def getStatus(self, jid):
if self._data.has_key(jid):
print 'roster: getStatus: %s' % self._data[jid]['status']
return self._data[jid]['status']
def getMessage(self, jid):
......
......@@ -21,7 +21,7 @@ from common import xmpp
try:
import avahi, gobject, dbus
except ImportError:
gajim.log.debug("Error: python-avahi and python-dbus need to be installed. No zeroconf support.")
gajim.log.debug('Error: python-avahi and python-dbus need to be installed. No zeroconf support.')
try:
import dbus.glib
......@@ -71,7 +71,7 @@ class Zeroconf:
self.disconnected_CB()
def new_service_callback(self, interface, protocol, name, stype, domain, flags):
print "Found service '%s' in domain '%s' on %i.%i." % (name, domain, interface, protocol)
gajim.log.debug('Found service %s in domain %s on %i.%i.' % (name, domain, interface, protocol))
if not self.connected:
return
......@@ -81,7 +81,7 @@ class Zeroconf:
reply_handler=self.service_resolved_callback, error_handler=self.error_callback)
def remove_service_callback(self, interface, protocol, name, stype, domain, flags):
print "Service '%s' in domain '%s' on %i.%i disappeared." % (name, domain, interface, protocol)
gajim.log.debug('Service %s in domain %s on %i.%i disappeared.' % (name, domain, interface, protocol))
#if not self.connected:
# return
if name != self.name:
......@@ -121,8 +121,8 @@ class Zeroconf:
return items
def service_resolved_callback(self, interface, protocol, name, stype, domain, host, aprotocol, address, port, txt, flags):
print "Service data for service '%s' in domain '%s' on %i.%i:" % (name, domain, interface, protocol)
# print "\tHost %s (%s), port %i, TXT data: %s" % (host, address, port, avahi.txt_array_to_string_array(txt))
gajim.log.debug('Service data for service %s in domain %s on %i.%i:' % (name, domain, interface, protocol))
gajim.log.debug('Host %s (%s), port %i, TXT data: %s' % (host, address, port, avahi.txt_array_to_string_array(txt)))
if not self.connected:
return
bare_name = name
......@@ -144,8 +144,6 @@ class Zeroconf:
# different handler when resolving all contacts
def service_resolved_all_callback(self, interface, protocol, name, stype, domain, host, aprotocol, address, port, txt, flags):
# print "Service data for service '%s' in domain '%s' on %i.%i:" % (name, domain, interface, protocol)
# print "\tHost %s (%s), port %i, TXT data: %s" % (host, address, port, str(avahi.txt_array_to_string_array(txt)))
if not self.connected:
return
bare_name = name
......@@ -154,16 +152,13 @@ class Zeroconf:
self.contacts[name] = (name, domain, interface, protocol, host, address, port, bare_name, txt)
def service_added_callback(self):
print 'Service successfully added'
pass
gajim.log.debug('Service successfully added')
def service_committed_callback(self):
print 'Service successfully committed'
pass
gajim.log.debug('Service successfully committed')
def service_updated_callback(self):
print 'Service successfully updated'
pass
gajim.log.debug('Service successfully updated')
def service_add_fail_callback(self, err):
gajim.log.debug('Error while adding service. %s' % str(err))
......@@ -222,7 +217,7 @@ class Zeroconf:
self.txt = txt
# print "Publishing service '%s' of type %s" % (self.name, self.stype)
gajim.log.debug('Publishing service %s of type %s' % (self.name, self.stype))
self.entrygroup.AddService(avahi.IF_UNSPEC, avahi.PROTO_UNSPEC, dbus.UInt32(0), self.name, self.stype, '', '', self.port, avahi.dict_to_txt_array(self.txt), reply_handler=self.service_added_callback, error_handler=self.service_add_fail_callback)
self.entrygroup.Commit(reply_handler=self.service_committed_callback,
error_handler=self.entrygroup_commit_error_CB)
......@@ -256,7 +251,7 @@ class Zeroconf:
else:
return False
except dbus.dbus_bindings.DBusException, e:
print "zeroconf.py: Can't remove service, avahi daemon not running?"
gajim.log.debug("Can't remove service. That should not happen")
def browse_domain(self, interface, protocol, domain):
self.new_service_type(interface, protocol, self.stype, domain, '')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment