import sqlite3
import csv
+import singleton
+
# for amulet table
NAME = u"amulet_table"
COL_AMULET_NAME = u"amulet_name"
class AmuletTableAccessor(object):
u""" スキルIDとスキル名の組み合わせテーブルへのアクセス用クラス """
+ __metaclass__ = singleton.Singleton
def __init__(self, db_cursor):
u""" db_cursor: cursor of sqlite3 database """
self._cursor = db_cursor
- self._id2name_dict, self._name2id_dict = self.get_dict()
+ self._id2name_dict, self._name2id_dict = self._get_dict()
- def get_dict(self):
+ def _get_dict(self):
u""" スキルIDからスキル名への変換辞書を得る。
return (id2name_dict, name2id_dict)"""
self._cursor.execute(SELECT_ALL_SQL)
return (id2name_dict, name2id_dict)
+ def get_dict(self, copied=False):
+ u""" スキルIDからスキル名への変換辞書を得る。
+ return (id2name_dict, name2id_dict)"""
+ if copied is True:
+ return (self._id2name_dict.copy(), self._name2id_dict.copy())
+ else:
+ return (self._id2name_dict, self._name2id_dict)
+
def get_id_sorted_names(self, is_desc=False):
u""" Id順でソートされたお守り名のタプルを返す
is_desc=Trueで降順にする。"""