52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
|
|
|
|
|
|
import time
|
|
|
|
|
|
class BackBoardManager:
|
|
def __init__(self):
|
|
self.backboards = {} # user_id: Backboard
|
|
|
|
def add_backboard(self, user_id, folder):
|
|
self.backboards[user_id] = Backboard(user_id, folder)
|
|
|
|
def get_backboard(self, user_id):
|
|
if user_id not in self.backboards:
|
|
return None
|
|
return self.backboards[user_id]
|
|
|
|
|
|
|
|
|
|
class Backboard:
|
|
def __init__(self, user_id, folder):
|
|
self.user_id = user_id
|
|
self.folder = folder
|
|
self.create_time = time.time()
|
|
self.enter_chapter_time = time.time()
|
|
|
|
def next_chapter(self):
|
|
self.enter_chapter_time = time.time()
|
|
|
|
def get_info_prompt(self):
|
|
return f"###Global Info:###\n\
|
|
User is {self.user_id}\n\
|
|
User's total study time is {self.get_deltatime_mmss(self.create_time, time.time())}\n\
|
|
User's current chapter study time is {self.get_deltatime_mmss(self.enter_chapter_time, time.time())}\n\
|
|
\n\n\
|
|
"
|
|
|
|
|
|
|
|
|
|
|
|
def get_deltatime_mmss(self, start_time, end_time):
|
|
elapsed_time = end_time - start_time
|
|
hours = int(elapsed_time // 3600)
|
|
minutes = int((elapsed_time % 3600) // 60)
|
|
seconds = int(elapsed_time % 60)
|
|
return f"{hours:02d}:{minutes:02d}:{seconds:02d}"
|
|
|
|
|