29 lines
705 B
Python
29 lines
705 B
Python
import json
|
|
|
|
|
|
class Profile:
|
|
|
|
def __init__(self, storage):
|
|
self.storage = storage
|
|
|
|
def create(self, member_id):
|
|
s = {
|
|
"id": member_id,
|
|
"newcomer": True,
|
|
"welcome_id": 0,
|
|
"vouched_by": [],
|
|
"vouched_for": []
|
|
}
|
|
self.storage.set(f'usr-{member_id}', json.dumps(s))
|
|
return s
|
|
|
|
def save(self, s):
|
|
self.storage.set(f'usr-{member_id}', json.dumps(s))
|
|
|
|
def get(self, member_id):
|
|
return json.loads(self.storage.get(f'usr-{member_id}')) or self.create_session(member_id)
|
|
|
|
def leaving(self, s):
|
|
if len(s['vouched_by']) == 0:
|
|
self.storage.delete(f'usr-{s["id"]}')
|