def get(self, request, date=None): mgr = TeamManager() matchData = mgr.query_match(date) if matchData: return Response({"match": matchData}) return Response({})
def blockSheet(request, date=None): """ List all code snippets, or create a new snippet. """ if request.method == 'GET': mgr = TeamManager() matchData = mgr.query_match(date) season = get_current_season() if date: date_string = datetime.datetime.strptime(date, "%Y-%m-%d").strftime("%A,%B %d") header = "Friday Night Block:{}".format(date_string) else: mtg = get_next_meeting() date_string = mtg.date.strftime("%A,%B %d") header = "Block sheet for {}".format(date_string) num_courts = len(matchData[0]) gen = PlaySheet(num_courts=num_courts, num_matches=len(matchData)) pdffile = gen.generate_sheet(header=header, firstcourt=season.firstcourt, sched=matchData) response = HttpResponse(pdffile, content_type='application/pdf') # response.write(pdffile) # response['Content-Disposition'] = 'attachement; filename="BlockSheet.pdf"' return response
def handle(self, *args, **options): mgr = TeamManager() mgr.pick_teams_for_date(date=options['date'], iterations=options['iterations'], max_tries=options['tries'], testing=options['testing'], fpartners=options['fpartner'], fteams=options['fteams'], low_threshold=options['low_threshold'])
def get(self, request, date=None): print("pick_teams GET for date %s" % date) mgr = TeamManager() match_data = mgr.query_match(date) return Response({ 'status': 'GET Done', 'date': date, 'teams': match_data })
def main(): mgr = TeamManager() matchData = mgr.query_match() header = "Friday Night Block" tmpFile = '/tmp/blocksheet.pdf' pdf = PlaySheet(orientation='L', unit='in', format='Letter') pdf.set_font('Arial', '', 12); pdf.add_page() pdf.GenerateSheet(header, matchData) if os.path.exists(tmpFile): os.unlink(tmpFile) pdf.output(tmpFile)
def delete(self, request, date=None): # ToDo: Insure is Admin user, not just authenticated tb = Scheduler() logger.info("blockSchedule DELETE for date:%s" % date) mgr = TeamManager() mgr.dbTeams.delete_matchup(date) tb.remove_all_couples_from_schedule(date) return Response({'status': 'success'})
def post(self, request, date=None): # Date can be part of the URL, or the post data. date = request.data.get('date', date) iterations = request.data.get('iterations', 25) tries = request.data.get('tries', 35) fpartners = request.data.get('fpartner', 1.0) fteams = request.data.get('fteam', 1.5) low_threshold = request.data.get('low_threshold', 0.75) mgr = TeamManager() result = mgr.pick_teams_for_date(date, iterations=iterations, max_tries=tries, fpartners=fpartners, fteams=fteams, low_threshold=low_threshold) return Response(result)
def post(self, request, date=None): couples = request.data.get('couples') result = {'status': "Did not execute"} if couples: tb = Scheduler() result['status'] = tb.update_schedule(date, couples) mgr = TeamManager() mgr.dbTeams.delete_matchup(date) else: result['status'] = "Did not decode the guys and gals" return Response(result)
def schedule(self, date): scheduler = Scheduler() logger.info("blockSchedule POST for date:%s" % date) group = scheduler.get_next_group(date) logger.info("Groups:") for g in group: logger.info("\tHe:%s She:%s" % (g.male.Name(), g.female.Name())) scheduler.add_group_to_schedule(date, group) mgr = TeamManager() mgr.dbTeams.delete_matchup(date) sched = scheduler.query_schedule(date)
def post(self, request, date=None, setnumber=None): logger.log(logging.INFO, f'Pick new match for {date} and setnumber: {setnumber}') print(f'Pick new match for {date} and setnumber:{setnumber}') iterations = request.data.get('iterations', 25) tries = request.data.get('tries', 35) fpartners = request.data.get('fpartner', 1.0) fteams = request.data.get('fteam', 1.5) low_threshold = request.data.get('low_threshold', 0.75) mgr = TeamManager() # result = mgr.pick_match(date, setnumber=setnumber, # iterations=iterations, # max_tries=tries, # fpartners=fpartners, # fteams=fteams, # low_threshold=low_threshold) return Response({'status': 'skipped'})