Files
CloudGame/backend/utils.py
T
2023-12-07 23:47:10 +08:00

55 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
import json
import bson
import base64
import random
import pandas
import time
from config import client, DATASET_PATH, DATABASE_NAME, COLLECTION, USER_COLLECTION
class JSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, bson.ObjectId):
return str(o)
return json.JSONEncoder.default(self, o)
def get_token(user_id):
token = base64.b64encode(
(".".join([str(user_id), str(random.random()), str(time.time() + 7200)])).encode()).decode()
return token
def verify_token(token):
_token = base64.b64decode(token).decode()
user_id, random_num, expire_time = _token.split(".")
if float(expire_time) > time.time():
return True, user_id
else:
# token is expired
return False, user_id
def read_dataset():
data = pandas.read_csv(DATASET_PATH,encoding='gbk')
data = data.fillna("")
data = data.to_dict(orient="records")
database = client[DATABASE_NAME]
list_data = []
for item in data:
list_data.append(item)
database[COLLECTION].insert_many(list_data)
return data
def init_admin():
database = client[DATABASE_NAME]
dbUser = database[USER_COLLECTION]
admin = dbUser.find_one({"username": "admin", "password": "123456"})
if not admin:
admin = {"username": "admin", "password": "123456"}
dbUser.insert_one(admin)
if __name__ == '__main__':
print(read_dataset()[0])