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 hashlib
|
||||
import logging
|
||||
import random
|
||||
import string
|
||||
|
||||
import ankisyncd
|
||||
@ -201,7 +203,7 @@ class SyncMediaHandler(MediaSyncer):
|
||||
class SyncUserSession(object):
|
||||
def __init__(self, name, path, collection_manager, setup_new_collection=None):
|
||||
import time
|
||||
self.skey = None
|
||||
self.skey = self._generate_session_key()
|
||||
self.name = name
|
||||
self.path = path
|
||||
self.collection_manager = collection_manager
|
||||
@ -217,6 +219,9 @@ class SyncUserSession(object):
|
||||
self.collection_handler = None
|
||||
self.media_handler = None
|
||||
|
||||
def _generate_session_key(self):
|
||||
return checksum(str(random.random()))[:8]
|
||||
|
||||
def get_collection_path(self):
|
||||
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:
|
||||
raise HTTPNotFound()
|
||||
|
||||
if url == 'begin':
|
||||
skey = checksum(str(random.random()))[:8]
|
||||
data['skey'] = skey
|
||||
session.skey = skey
|
||||
elif url == 'mediaChanges' or url == 'uploadChanges':
|
||||
if url == 'begin' or url == 'mediaChanges' or url == 'uploadChanges':
|
||||
data['skey'] = session.skey
|
||||
|
||||
return self._execute_handler_method_in_thread(url, data, session)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user