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"]}')
|