ソースを参照

Update user_manager: update local manager for debugging

StrayWarrior 2 日 前
コミット
3c1b2eaa6a
1 ファイル変更11 行追加2 行削除
  1. 11 2
      user_manager.py

+ 11 - 2
user_manager.py

@@ -86,12 +86,21 @@ class UserRelationManager(abc.ABC):
 class LocalUserManager(UserManager):
     def get_user_profile(self, user_id) -> Dict:
         """加载用户个人资料,如不存在则创建默认资料。主要用于本地调试"""
+        default_profile = self.get_default_profile()
         try:
             with open(f"user_profiles/{user_id}.json", "r", encoding="utf-8") as f:
-                return json.load(f)
+                profile = json.load(f)
+            entry_added = False
+            for key, value in default_profile.items():
+                if key not in profile:
+                    logger.debug(f"user[{user_id}] add profile key[{key}] value[{value}]")
+                    profile[key] = value
+                    entry_added = True
+            if entry_added:
+                self.save_user_profile(user_id, profile)
+            return profile
         except FileNotFoundError:
             # 创建默认用户资料
-            default_profile = self.get_default_profile()
             self.save_user_profile(user_id, default_profile)
             return default_profile