Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/messenger.py
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2007-09-03 20:14:02 (GMT)
committer Simon Schampijer <simon@schampijer.de>2007-09-03 20:14:02 (GMT)
commitc28b01faa7d2cf454d23904e6cde253ee3455e97 (patch)
tree06e98e420e5fee130f4b4d82e199c67fe2a14e22 /messenger.py
parent11ac469846e1239f88012c451f355c82374258f9 (diff)
redesign when members leave and rejoin
added timestamp to be able to bring the links in the right order, you can not add alink twice unless you deleted it already, links are added to the tray on the right side
Diffstat (limited to 'messenger.py')
-rw-r--r--messenger.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/messenger.py b/messenger.py
index 35bbc21..1d6d93c 100644
--- a/messenger.py
+++ b/messenger.py
@@ -82,47 +82,47 @@ class Messenger(ExportedGObject):
a_ids.pop()
for link in self.model.data['shared_links']:
if link['hash'] not in a_ids:
- if link['deleted'] == 0:
self.tube.get_object(sender, PATH).send_link(
link['hash'], link['url'], link['title'], link['color'],
- link['owner'], link['thumb'])
+ link['owner'], link['thumb'], link['timestamp'])
def error_sync(self, e, when):
_logger.error('Error %s: %s'%(when, e))
- @dbus.service.method(dbus_interface=IFACE, in_signature='as', out_signature='ass', sender_keyword='sender')
+ @dbus.service.method(dbus_interface=IFACE, in_signature='as',
+ out_signature='ass', sender_keyword='sender')
def sync_with_members(self, b_ids, sender=None):
'''Sync with members '''
b_ids.pop()
# links the caller wants from me
for link in self.model.data['shared_links']:
if link['hash'] not in b_ids:
- if link['deleted'] == 0:
- self.tube.get_object(sender, PATH).send_link(link['hash'], link['url'], link['title'], link['color'],
- link['owner'], link['thumb'])
+ self.tube.get_object(sender, PATH).send_link(
+ link['hash'], link['url'], link['title'], link['color'],
+ link['owner'], link['thumb'], link['timestamp'])
a_ids = self.model.get_links_ids()
a_ids.append('')
# links I want from the caller
return (a_ids, self.bus_name)
- @dbus.service.method(dbus_interface=IFACE, in_signature='ssssss', out_signature='')
- def send_link(self, id, url, title, color, owner, buffer):
+ @dbus.service.method(dbus_interface=IFACE, in_signature='ssssssd', out_signature='')
+ def send_link(self, id, url, title, color, owner, buffer, timestamp):
'''Send link'''
a_ids = self.model.get_links_ids()
if id not in a_ids:
thumb = base64.b64decode(buffer)
- self.model.add_link(url, title, thumb, owner, color)
+ self.model.add_link(url, title, thumb, owner, color, timestamp)
- @dbus.service.signal(IFACE, signature='sssss')
- def _add_link(self, url, title, color, owner, thumb):
+ @dbus.service.signal(IFACE, signature='sssssd')
+ def _add_link(self, url, title, color, owner, thumb, timestamp):
'''Signal to send the link information (add)'''
_logger.debug('Add Link: %s '%url)
- def _add_link_receiver(self, url, title, color, owner, buffer, sender=None):
+ def _add_link_receiver(self, url, title, color, owner, buffer, timestamp, sender=None):
'''Member sent a link'''
handle = self.tube.bus_name_to_handle[sender]
if self.tube.self_handle != handle:
thumb = base64.b64decode(buffer)
- self.model.add_link(url, title, thumb, owner, color)
+ self.model.add_link(url, title, thumb, owner, color, timestamp)
_logger.debug('Added link: %s to linkbar.'%(url))