def dailyScan(): query = Channel.query(Channel.c.state == Channel.SUSPENDED) def error(channel): lastMA = ModeratorAction.query( ModeratorAction.c.channel_id == channel.id, ModeratorAction.c.user_id == user.id).order_by( 'timestamp', desc=True).limit(1).get(database) print lastMA.channel_id, lastMA.timestamp if datetime.now() - timedelta( 5) < lastMA.timestamp < datetime.now() - timedelta(days=4): print 'sending broken notice for', channel email = emailmessages.SuspendedChannelEmail(channel) sendNote(channel, email) print 'e-mail sent' elif lastMA.timestamp < datetime.now() - timedelta(weeks=2): print 'sending rejection e-mail for', channel email = emailmessages.RejectedChannelEmail(channel) sendNote(channel, email) print 'e-mail sent' channel.change_state(user, Channel.REJECTED, database) channel.save(database) database.commit() def good(channel): channel.change_state(user, Channel.APPROVED, database) channel.save(database) database.commit() scan(query, good, error)
def fullScan(): query = Channel.query_approved() def error(channel): print channel.id, channel channel.change_state(user, Channel.SUSPENDED, database) channel.save(database) database.commit() scan(query, errorFunc=error)
def dailyScan(): query = Channel.query(Channel.c.state==Channel.SUSPENDED) def error(channel): lastMA = ModeratorAction.query(ModeratorAction.c.channel_id==channel.id, ModeratorAction.c.user_id==user.id).order_by('timestamp', desc=True).limit(1).get(database) print lastMA.channel_id, lastMA.timestamp if datetime.now() - timedelta(5) < lastMA.timestamp < datetime.now() - timedelta(days=4): print 'sending broken notice for', channel email = emailmessages.SuspendedChannelEmail(channel) sendNote(channel, email) print 'e-mail sent' elif lastMA.timestamp < datetime.now() - timedelta(weeks=2): print 'sending rejection e-mail for', channel email = emailmessages.RejectedChannelEmail(channel) sendNote(channel, email) print 'e-mail sent' channel.change_state(user, Channel.REJECTED, database) channel.save(database) database.commit() def good(channel): channel.change_state(user, Channel.APPROVED, database) channel.save(database) database.commit() scan(query, good, error)