def accept(cls, things, correct=True): from r2.lib.db import queries things = tup(things) things_by_cls = {} for thing in things: things_by_cls.setdefault(thing.__class__, []).append(thing) for thing_cls, cls_things in things_by_cls.iteritems(): to_clear = [] # look up all of the reports for each thing rel_cls = cls.rel(Account, thing_cls) thing_ids = [t._id for t in cls_things] rels = rel_cls._query(rel_cls.c._thing2_id == thing_ids) for r in rels: if r._name == '0': r._name = '1' if correct else '-1' r._commit() for thing in cls_things: if thing.reported > 0: thing.reported = 0 thing._commit() to_clear.append(thing) queries.clear_reports(to_clear, rels)
def accept(cls, things, correct = True): from r2.lib.db import queries things = tup(things) things_by_cls = {} for thing in things: things_by_cls.setdefault(thing.__class__, []).append(thing) for thing_cls, cls_things in things_by_cls.iteritems(): to_clear = [] # look up all of the reports for each thing rel_cls = cls.rel(Account, thing_cls) thing_ids = [t._id for t in cls_things] rels = rel_cls._query(rel_cls.c._thing2_id == thing_ids) for r in rels: if r._name == '0': r._name = '1' if correct else '-1' r._commit() for thing in cls_things: if thing.reported > 0: thing.reported = 0 thing._commit() to_clear.append(thing) queries.clear_reports(to_clear, rels)