This commit is contained in:
j 2014-05-15 01:28:49 +02:00
commit a9c5fb43fe
6 changed files with 353 additions and 253 deletions

View file

@ -92,6 +92,14 @@ class Changelog(db.Model):
_data = str(self.revision) + str(self.timestamp) + self.data
return valid(self.user_id, _data, self.sig)
@classmethod
def _rebuild(cls):
for c in cls.query.filter_by(user_id=settings.USER_ID):
_data = str(c.revision) + str(c.timestamp) + c.data
c.sig = settings.sk.sign(_data, encoding='base64')
db.session.add(c)
db.session.commit()
def json(self):
return [self.revision, self.timestamp, self.sig, self.data]
@ -123,7 +131,6 @@ class Changelog(db.Model):
i = Item.get_or_create(itemid, info)
i.users.append(user)
i.update()
trigger_event('itemchange', {'fixme': 'new remote changes'})
return True
def action_edititem(self, user, timestamp, itemid, meta):
@ -138,7 +145,6 @@ class Changelog(db.Model):
elif meta[key] and (i.meta.get('mainid') != key or meta[key] != i.meta.get(key)):
print 'new mapping', key, meta[key], 'currently', i.meta.get('mainid'), i.meta.get(i.meta.get('mainid'))
i.update_mainid(key, meta[key])
trigger_event('itemchange', {'fixme': 'new remote changes'})
return True
def action_removeitem(self, user, timestamp, itemid):
@ -152,7 +158,6 @@ class Changelog(db.Model):
else:
db.session.delete(i)
db.session.commit()
trigger_event('itemchange', {'fixme': 'new remote changes'})
return True
def action_addlist(self, user, timestamp, name, query=None):

View file

@ -33,12 +33,16 @@ class LocalNodes(Thread):
def __init__(self, app):
self._app = app
Thread.__init__(self)
if not server['localnode_discovery']:
return
self.daemon = True
self.start()
self.host = get_public_ipv6()
self.send()
def send(self):
if not server['localnode_discovery']:
return
s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
ttl = struct.pack('@i', self.TTL)

View file

@ -38,10 +38,11 @@ ui = pdict(os.path.join(config_dir, 'ui.json'), config['user']['ui'])
server = pdict(os.path.join(config_dir, 'server.json'))
server_defaults = {
'port': 9842,
'address': '127.0.0.1',
'address': '::1',
'node_port': 9851,
'node_address': '',
'extract_text': True,
'localnode_discovery': True,
'directory_service': 'http://[2a01:4f8:120:3201::3]:25519',
'lookup_service': 'http://data.openmedialibrary.com',
}