_fields -> fields

This commit is contained in:
Damien Elmes 2011-04-13 22:42:44 +09:00
parent 89673f0c0a
commit 93d80678f9
3 changed files with 19 additions and 19 deletions

View file

@ -273,7 +273,7 @@ select id from facts where id not in (select distinct fid from cards)""")
data = [1, 1, model.id, 1, template['ord'], data = [1, 1, model.id, 1, template['ord'],
"", fact.joinedFields()] "", fact.joinedFields()]
now = self._renderQA(model, "", data) now = self._renderQA(model, "", data)
data[6] = "\x1f".join([""]*len(fact._fields)) data[6] = "\x1f".join([""]*len(fact.fields))
empty = self._renderQA(model, "", data) empty = self._renderQA(model, "", data)
if now['q'] == empty['q']: if now['q'] == empty['q']:
continue continue

View file

@ -23,7 +23,7 @@ class Fact(object):
self.crt = intTime() self.crt = intTime()
self.mod = self.crt self.mod = self.crt
self.tags = [] self.tags = []
self._fields = [""] * len(self._model.fields) self.fields = [""] * len(self._model.fields)
self.data = "" self.data = ""
self._fmap = self._model.fieldMap() self._fmap = self._model.fieldMap()
@ -33,17 +33,17 @@ class Fact(object):
self.crt, self.crt,
self.mod, self.mod,
self.tags, self.tags,
self._fields, self.fields,
self.data) = self.deck.db.first(""" self.data) = self.deck.db.first("""
select mid, gid, crt, mod, tags, flds, data from facts where id = ?""", self.id) select mid, gid, crt, mod, tags, flds, data from facts where id = ?""", self.id)
self._fields = splitFields(self._fields) self.fields = splitFields(self.fields)
self.tags = parseTags(self.tags) self.tags = parseTags(self.tags)
self._model = self.deck.getModel(self.mid) self._model = self.deck.getModel(self.mid)
def flush(self): def flush(self):
self.mod = intTime() self.mod = intTime()
# facts table # facts table
sfld = self._fields[self._model.sortIdx()] sfld = self.fields[self._model.sortIdx()]
tags = self.stringTags() tags = self.stringTags()
res = self.deck.db.execute(""" res = self.deck.db.execute("""
insert or replace into facts values (?, ?, ?, ?, ?, ?, ?, ?, ?)""", insert or replace into facts values (?, ?, ?, ?, ?, ?, ?, ?, ?)""",
@ -55,7 +55,7 @@ insert or replace into facts values (?, ?, ?, ?, ?, ?, ?, ?, ?)""",
self.deck.registerTags(self.tags) self.deck.registerTags(self.tags)
def joinedFields(self): def joinedFields(self):
return joinFields(self._fields) return joinFields(self.fields)
def updateFieldChecksums(self): def updateFieldChecksums(self):
self.deck.db.execute("delete from fsums where fid = ?", self.id) self.deck.db.execute("delete from fsums where fid = ?", self.id)
@ -63,7 +63,7 @@ insert or replace into facts values (?, ?, ?, ?, ?, ?, ?, ?, ?)""",
for (ord, conf) in self._fmap.values(): for (ord, conf) in self._fmap.values():
if not conf['uniq']: if not conf['uniq']:
continue continue
val = self._fields[ord] val = self.fields[ord]
if not val: if not val:
continue continue
d.append((self.id, self.mid, fieldChecksum(val))) d.append((self.id, self.mid, fieldChecksum(val)))
@ -89,10 +89,10 @@ insert or replace into facts values (?, ?, ?, ?, ?, ?, ?, ?, ?)""",
return self._fmap.keys() return self._fmap.keys()
def values(self): def values(self):
return self._fields return self.fields
def items(self): def items(self):
return [(f['name'], self._fields[ord]) return [(f['name'], self.fields[ord])
for ord, f in sorted(self._fmap.values())] for ord, f in sorted(self._fmap.values())]
def _fieldOrd(self, key): def _fieldOrd(self, key):
@ -102,10 +102,10 @@ insert or replace into facts values (?, ?, ?, ?, ?, ?, ?, ?, ?)""",
raise KeyError(key) raise KeyError(key)
def __getitem__(self, key): def __getitem__(self, key):
return self._fields[self._fieldOrd(key)] return self.fields[self._fieldOrd(key)]
def __setitem__(self, key, value): def __setitem__(self, key, value):
self._fields[self._fieldOrd(key)] = value self.fields[self._fieldOrd(key)] = value
# Tags # Tags
################################################## ##################################################

View file

@ -40,19 +40,19 @@ def test_fields():
f = m.newField() f = m.newField()
f['name'] = "foo" f['name'] = "foo"
m.addField(f) m.addField(f)
assert d.getFact(m.fids()[0])._fields == ["1", "2", ""] assert d.getFact(m.fids()[0]).fields == ["1", "2", ""]
# rename it # rename it
m.renameField(f, "bar") m.renameField(f, "bar")
assert d.getFact(m.fids()[0])['bar'] == '' assert d.getFact(m.fids()[0])['bar'] == ''
# delete back # delete back
m.delField(m.fields[1]) m.delField(m.fields[1])
assert d.getFact(m.fids()[0])._fields == ["1", ""] assert d.getFact(m.fids()[0]).fields == ["1", ""]
# move 0 -> 1 # move 0 -> 1
m.moveField(m.fields[0], 1) m.moveField(m.fields[0], 1)
assert d.getFact(m.fids()[0])._fields == ["", "1"] assert d.getFact(m.fids()[0]).fields == ["", "1"]
# move 1 -> 0 # move 1 -> 0
m.moveField(m.fields[1], 0) m.moveField(m.fields[1], 0)
assert d.getFact(m.fids()[0])._fields == ["1", ""] assert d.getFact(m.fids()[0]).fields == ["1", ""]
# add another and put in middle # add another and put in middle
f = m.newField() f = m.newField()
f['name'] = "baz" f['name'] = "baz"
@ -60,16 +60,16 @@ def test_fields():
f = d.getFact(m.fids()[0]) f = d.getFact(m.fids()[0])
f['baz'] = "2" f['baz'] = "2"
f.flush() f.flush()
assert d.getFact(m.fids()[0])._fields == ["1", "", "2"] assert d.getFact(m.fids()[0]).fields == ["1", "", "2"]
# move 2 -> 1 # move 2 -> 1
m.moveField(m.fields[2], 1) m.moveField(m.fields[2], 1)
assert d.getFact(m.fids()[0])._fields == ["1", "2", ""] assert d.getFact(m.fids()[0]).fields == ["1", "2", ""]
# move 0 -> 2 # move 0 -> 2
m.moveField(m.fields[0], 2) m.moveField(m.fields[0], 2)
assert d.getFact(m.fids()[0])._fields == ["2", "", "1"] assert d.getFact(m.fids()[0]).fields == ["2", "", "1"]
# move 0 -> 1 # move 0 -> 1
m.moveField(m.fields[0], 1) m.moveField(m.fields[0], 1)
assert d.getFact(m.fids()[0])._fields == ["", "2", "1"] assert d.getFact(m.fids()[0]).fields == ["", "2", "1"]
def test_templates(): def test_templates():
d = getEmptyDeck() d = getEmptyDeck()