Ejemplo n.º 1
0
    def get(self, request, date=None):
        mgr = TeamManager()

        matchData = mgr.query_match(date)
        if matchData:
            return Response({"match": matchData})
        return Response({})
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
 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'])
Ejemplo n.º 4
0
    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
        })
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
 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'})
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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)
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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'})