sirochild commited on
Commit
1224dcb
·
verified ·
1 Parent(s): 9dd4de3

Upload persistent_user_manager.py

Browse files
Files changed (1) hide show
  1. persistent_user_manager.py +13 -6
persistent_user_manager.py CHANGED
@@ -100,11 +100,9 @@ class PersistentUserManager:
100
  logger.debug(f"Cookie初期化: prefix={unique_prefix}, session_id={session_id}, timestamp={timestamp}")
101
 
102
  # EncryptedCookieManagerを初期化(永続Cookie対応)
103
- # 完全にユニークなキーを使用
104
  cookies = EncryptedCookieManager(
105
  prefix=unique_prefix, # タイムスタンプ付きの完全にユニークなprefix
106
- password=cookie_password,
107
- key=f"CookieManager_{session_id}_{timestamp}" # 内部キーも完全にユニーク
108
  )
109
 
110
  # Cookieが準備できるまで待機(最大3回試行)
@@ -435,7 +433,7 @@ class PersistentUserManager:
435
 
436
  def save_user_game_data(self, user_id: str, game_data: Dict[str, Any]) -> bool:
437
  """
438
- ユーザーのゲームデータを保存
439
 
440
  Args:
441
  user_id: ユーザーID
@@ -447,10 +445,15 @@ class PersistentUserManager:
447
  try:
448
  user_file = os.path.join(self.user_data_dir, f"{user_id}.json")
449
 
 
 
 
 
450
  # 既存データを読み込み
451
  if os.path.exists(user_file):
452
  with open(user_file, 'r', encoding='utf-8') as f:
453
  user_data = json.load(f)
 
454
  else:
455
  # 新規ユーザーデータを作成
456
  user_data = {
@@ -458,6 +461,7 @@ class PersistentUserManager:
458
  "created_at": datetime.now().isoformat(),
459
  "version": "1.0"
460
  }
 
461
 
462
  # ゲームデータを更新
463
  user_data["game_data"] = game_data
@@ -468,11 +472,14 @@ class PersistentUserManager:
468
  with open(user_file, 'w', encoding='utf-8') as f:
469
  json.dump(user_data, f, ensure_ascii=False, indent=2)
470
 
471
- logger.info(f"ゲームデータ保存完了: {user_id[:8]}...")
 
 
 
472
  return True
473
 
474
  except Exception as e:
475
- logger.error(f"ゲームデータ保存エラー: {e}")
476
  return False
477
 
478
  def get_user_info(self, user_id: str) -> Optional[Dict[str, Any]]:
 
100
  logger.debug(f"Cookie初期化: prefix={unique_prefix}, session_id={session_id}, timestamp={timestamp}")
101
 
102
  # EncryptedCookieManagerを初期化(永続Cookie対応)
 
103
  cookies = EncryptedCookieManager(
104
  prefix=unique_prefix, # タイムスタンプ付きの完全にユニークなprefix
105
+ password=cookie_password
 
106
  )
107
 
108
  # Cookieが準備できるまで待機(最大3回試行)
 
433
 
434
  def save_user_game_data(self, user_id: str, game_data: Dict[str, Any]) -> bool:
435
  """
436
+ ユーザーのゲームデータを永続ストレージ(/mnt/data)に保存
437
 
438
  Args:
439
  user_id: ユーザーID
 
445
  try:
446
  user_file = os.path.join(self.user_data_dir, f"{user_id}.json")
447
 
448
+ # 保存先パスをログ出力(永続ストレージ確認用)
449
+ logger.info(f"ゲームデータ保存先: {user_file}")
450
+ logger.info(f"永続ストレージベースパス: {self.storage_base_path}")
451
+
452
  # 既存データを読み込み
453
  if os.path.exists(user_file):
454
  with open(user_file, 'r', encoding='utf-8') as f:
455
  user_data = json.load(f)
456
+ logger.info(f"既存ユーザーデータを更新: {user_id[:8]}...")
457
  else:
458
  # 新規ユーザーデータを作成
459
  user_data = {
 
461
  "created_at": datetime.now().isoformat(),
462
  "version": "1.0"
463
  }
464
+ logger.info(f"新規ユーザーデータを作成: {user_id[:8]}...")
465
 
466
  # ゲームデータを更新
467
  user_data["game_data"] = game_data
 
472
  with open(user_file, 'w', encoding='utf-8') as f:
473
  json.dump(user_data, f, ensure_ascii=False, indent=2)
474
 
475
+ # 保存後のファイルサイズを確認
476
+ file_size = os.path.getsize(user_file)
477
+ logger.info(f"永続ストレージにゲームデータ保存完了: {user_id[:8]}... (ファイルサイズ: {file_size}バイト)")
478
+
479
  return True
480
 
481
  except Exception as e:
482
+ logger.error(f"永続ストレージへのゲームデータ保存エラー: {e}")
483
  return False
484
 
485
  def get_user_info(self, user_id: str) -> Optional[Dict[str, Any]]: