[Enhance] Cloud save update scores & capture auth error

- Restore the feature that cloud save can be used to cover best scores
- Capture error that the request does not have `Authorization` in header
This commit is contained in:
Lost-MSth
2023-01-13 17:50:01 +08:00
parent f250701eca
commit af03a48134
9 changed files with 142 additions and 69 deletions

View File

@@ -3,7 +3,7 @@ from time import time
from .config_manager import Config
from .constant import Constant
from .error import InputError
from .error import InputError, NoData
from .util import md5
@@ -54,6 +54,20 @@ class SaveData:
}
}
def select_scores(self, user) -> None:
'''
parameter: `user` - `User`类或子类的实例
'''
self.user = user
self.c.execute('''select scores_data, clearlamps_data from user_save where user_id=:a''',
{'a': user.user_id})
x = self.c.fetchone()
if not x:
raise NoData(f'User `{user.user_id}` has no cloud save data')
self.scores_data: list = json.loads(x[0])[""]
self.clearlamps_data: list = json.loads(x[1])[""]
def select_all(self, user) -> None:
'''
parameter: `user` - `User`类或子类的实例