20 def __init__(self, check_id, category_input, syllables_w_context, syllables_wo_context, segment, is_uncertain, context_padding, db_id=None):
37 raise Exception(
'Attempting to insert Test object whose corresponding Check object is not yet in the database. Insertion aborted.')
40 if self.seg.db_id ==
None:
41 self.seg.db_insert(db)
44 self.
db_id = db.insert(
'tests',
45 'check_id category_input syllables_w_context syllables_wo_context segment_id is_uncertain context_padding'.split(),
52 if self.
db_id !=
None:
53 db.delete(
'tests',
'id=?', [self.
db_id])
56 self.seg.db_delete(db)
59 if self.
db_id !=
None and self.seg.db_id !=
None:
62 db.update(
'segments',
'user_adj_start user_adj_end'.split(),
' id=?', [self.seg.user_adj_start, self.seg.user_adj_end, self.seg.db_id])
69 seg = Segment.db_select(db, [cur_row[5]])[0]
81 test_list.append(test)
88 DBObject.db_select(ids)
91 rows = db.select(
'tests',
92 'id check_id category_input syllables_w_context syllables_wo_context segment_id is_uncertain context_padding'.split(),
93 DBObject._build_where_cond_from_ids(ids)
96 return Test._build_from_db_rows(db, rows)
100 rows = db.select(
'tests',
'id check_id category_input syllables_w_context syllables_wo_context segment_id is_uncertain context_padding'.split(),
' check_id=?', [check_id], order_by=
'id')
102 return Test._build_from_db_rows(db, rows)