def __call__(self, args): session = database.connect() acceptkeys = [] rejectkeys = [] warnkeys = [] reason = None if args.reason: reason = args.reason for f in args.accept: acceptkeys.extend(line.strip() for line in open(f)) for f in args.reject: rejectkeys.extend(line.strip() for line in open(f)) for f in args.warn: warnkeys.extend(line.strip() for line in open(f)) pass acceptkeys = {i.split(",")[0]: i.split(",")[1] for i in acceptkeys} warnkeys = {i.split(",")[0]: i.split(",")[1] for i in warnkeys} try: query = session.query(HIT) query = query.filter(HIT.completed == True) query = query.filter(HIT.compensated == False) query = query.join(HITGroup) query = query.filter(HITGroup.offline == False) if args.limit: query = query.limit(args.limit) for hit in query: if not hit.check(): print "WARNING: {0} failed payment check, ignoring".format( hit.hitid) continue try: self.process(hit, acceptkeys, rejectkeys, warnkeys, args.validated, args.default, reason) if hit.compensated: if hit.accepted: print "Accepted HIT {0}".format(hit.hitid) else: print "Rejected HIT {0}".format(hit.hitid) session.add(hit) except CommunicationError as e: hit.compensated = True session.add(hit) print "Error with HIT {0}: {1}".format(hit.hitid, e) finally: session.commit() session.close()
def __call__(self, args): session = database.connect() try: self.serverconfig(session) if args.verify: self.verify(session) else: if args.turk: self.turkstatus(session) self.serverstatus(session) finally: session.close()
def __call__(self, args): session = database.connect() try: query = session.query(HIT) query = query.join(HITGroup) query = query.filter(HITGroup.offline == False) query = query.filter(HIT.published == True) query = query.filter(HIT.completed == False) if args.limit > 0: query = query.limit(args.limit) for hit in query: hit.extendhit() print "Extended {0}".format(hit.hitid) finally: session.commit() session.close()
def __call__(self, args): session = database.connect() acceptkeys = [] rejectkeys = [] warnkeys = [] for f in args.accept: acceptkeys.extend(line.strip() for line in open(f)) for f in args.reject: rejectkeys.extend(line.strip() for line in open(f)) for f in args.warn: warnkeys.extend(line.strip() for line in open(f)) try: query = session.query(HIT) query = query.filter(HIT.completed == True) query = query.filter(HIT.compensated == False) query = query.join(HITGroup) query = query.filter(HITGroup.offline == False) if args.limit: query = query.limit(args.limit) for hit in query: if not hit.check(): print "WARNING: {0} failed payment check, ignoring".format(hit.hitid) continue try: self.process(hit, acceptkeys, rejectkeys, warnkeys, args.validated, args.default) if hit.compensated: if hit.accepted: print "Accepted HIT {0}".format(hit.hitid) else: print "Rejected HIT {0}".format(hit.hitid) session.add(hit) except CommunicationError as e: hit.compensated = True session.add(hit) print "Error with HIT {0}: {1}".format(hit.hitid, e) finally: session.commit() session.close()
def __call__(self, args): session = database.connect() try: query = session.query(HIT) query = query.join(HITGroup) query = query.filter(HITGroup.offline == args.offline) query = query.filter(HIT.ready == True) if args.disable: if args.offline: print "Cannot disable offline HITs." return query = query.filter(HIT.published == True) query = query.filter(HIT.completed == False) if args.limit > 0: query = query.limit(args.limit) for hit in query: try: hitid = hit.disable() print "Disabled {0}".format(hitid) except Exception as e: print "Unable to disable HIT {0}!".format(hit.hitid) print e session.add(hit) else: query = query.filter(HIT.published == False) if args.limit > 0: query = query.limit(args.limit) for hit in query: if args.offline: print hit.offlineurl(config.localhost) else: hit.publish() print "Published {0}".format(hit.hitid) session.add(hit) session.commit() finally: session.commit() session.close()
def __call__(self, args): session = database.connect() acceptkeys = [] rejectkeys = [] warnkeys = [] for f in args.accept: acceptkeys.extend(line.strip() for line in open(f)) for f in args.reject: rejectkeys.extend(line.strip() for line in open(f)) for f in args.warn: warnkeys.extend(line.strip() for line in open(f)) try: query = session.query(HIT) query = query.filter(HIT.completed == True) query = query.filter(HIT.compensated == False) query = query.join(HITGroup) query = query.filter(HITGroup.offline == False) if args.limit: query = query.limit(args.limit) for hit in query: try: self.process(hit, acceptkeys, rejectkeys, warnkeys, args.validated, args.default) if hit.compensated: if hit.accepted: print "Accepted HIT {0}".format(hit.hitid) else: print "Rejected HIT {0}".format(hit.hitid) session.add(hit) except CommunicationError as e: print "Error with HIT {0}: {1}".format(hit.hitid, e) finally: session.commit() session.close()