def __init__(self, cls, name):
self.cls = cls
self.name = name
self.filename = '%s.csv' % self.name
self.keys_by_name = {}
self.raw_by_key = {}
self.processed_by_key = {}
data = pkgutil.get_data(__name__, self.filename)
buf = io.StringIO(data.decode('ascii'), newline=u'')
reader = csv.DictReader(buf, lineterminator=u'\n')
self.fieldnames = reader.fieldnames
for raw in reader:
key = self.cls(raw['key'])
assert key not in self.raw_by_key
self.raw_by_key[key] = raw
name = self.name_from_raw(key, raw)
assert name not in self.keys_by_name
self.keys_by_name[name] = key
self.accessor = KnowledgeAccessor(self)
评论列表
文章目录