Define skey once when creating user session, not each time when beginning media sync.
This commit is contained in:
parent
1b1a3d8e22
commit
87ee726d25
@ -22,6 +22,8 @@ from webob import Response
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import logging
|
||||||
|
import random
|
||||||
import string
|
import string
|
||||||
|
|
||||||
import ankisyncd
|
import ankisyncd
|
||||||
@ -201,7 +203,7 @@ class SyncMediaHandler(MediaSyncer):
|
|||||||
class SyncUserSession(object):
|
class SyncUserSession(object):
|
||||||
def __init__(self, name, path, collection_manager, setup_new_collection=None):
|
def __init__(self, name, path, collection_manager, setup_new_collection=None):
|
||||||
import time
|
import time
|
||||||
self.skey = None
|
self.skey = self._generate_session_key()
|
||||||
self.name = name
|
self.name = name
|
||||||
self.path = path
|
self.path = path
|
||||||
self.collection_manager = collection_manager
|
self.collection_manager = collection_manager
|
||||||
@ -217,6 +219,9 @@ class SyncUserSession(object):
|
|||||||
self.collection_handler = None
|
self.collection_handler = None
|
||||||
self.media_handler = None
|
self.media_handler = None
|
||||||
|
|
||||||
|
def _generate_session_key(self):
|
||||||
|
return checksum(str(random.random()))[:8]
|
||||||
|
|
||||||
def get_collection_path(self):
|
def get_collection_path(self):
|
||||||
return os.path.realpath(os.path.join(self.path, 'collection.anki2'))
|
return os.path.realpath(os.path.join(self.path, 'collection.anki2'))
|
||||||
|
|
||||||
@ -518,11 +523,7 @@ class SyncApp(object):
|
|||||||
if url not in self.valid_urls:
|
if url not in self.valid_urls:
|
||||||
raise HTTPNotFound()
|
raise HTTPNotFound()
|
||||||
|
|
||||||
if url == 'begin':
|
if url == 'begin' or url == 'mediaChanges' or url == 'uploadChanges':
|
||||||
skey = checksum(str(random.random()))[:8]
|
|
||||||
data['skey'] = skey
|
|
||||||
session.skey = skey
|
|
||||||
elif url == 'mediaChanges' or url == 'uploadChanges':
|
|
||||||
data['skey'] = session.skey
|
data['skey'] = session.skey
|
||||||
|
|
||||||
return self._execute_handler_method_in_thread(url, data, session)
|
return self._execute_handler_method_in_thread(url, data, session)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user