import amulettable
import skilltable
-import singleton
+#import singleton
# for Seed2 to skill2
u""" SEED2から各お守りの第2スキルへのテーブル """
csv_reader.next() # skip header row
for row in csv_reader:
amulet_name = row[0].strip()
+ #if not isinstance(amulet_name, unicode):
+ # amulet_name = unicode(amulet_name, u"utf-8")
skill2_file = row[1].strip()
amulet_id = amu_name2id[amulet_name]
table_name = NAME.format(amulet_id=amulet_id)
insert_values = {}
reader.next() # skip header row
- for row in reader: # (skill_name, min1, max1)
+ for row in reader:
seed2 = int(row[0].strip())
- skill_ids = [skill_name2id[x.strip()] for x in row[1:]]
+ skill_ids = []
+ for skill_name in row[1:]:
+ skill_name = skill_name.strip()
+ #if not isinstance(skill_name, unicode):
+ # skill_name = unicode(skill_name, u"utf-8")
+ skill_ids.append(skill_name2id[skill_name])
sql = INSERT_SQL.format(table_name=table_name)
db_cursor.execute(sql, tuple([seed2] + skill_ids))
class Seed2Skill2TableAccessor(object):
u""" Seed2とスキル名の組み合わせテーブルへのアクセス用クラス """
- __metaclass__ = singleton.Singleton
+ #__metaclass__ = singleton.Singleton
def __init__(self, db_cursor):
u""" db_cursor: cursor of sqlite3 database """
self._cursor = db_cursor
where_sql = " where " + " and ".join(where_list)
sql = SELECT_SEED2_SQL.format(table_name=table_name) + where_sql
self._cursor.execute(sql)
- if len(result_set) == 0:
- result_set = set([x[0] for x in self._cursor.fetchall()])
+ seed2s = set([x[0] for x in self._cursor.fetchall()])
+ if len(seed2s) == 0:
+ continue
+
+ if len(result_set) != 0:
+ result_set &= seed2s
else:
- result_set = result_set & set([x[0] for x in self._cursor.fetchall()])
+ result_set = seed2s
return result_set