Exemplo n.º 1
0
 def _processMeetResults(self, fn):
     runners = Oparse.getRunners(fn)
     cclasses = set([r.cclass for r in runners])
     for c in cclasses:
         incclass = [r for r in runners if r.cclass == c]
         Oparse.assignPositions(incclass)
         Oparse.assignScore(incclass, "COC")
         
     teams = Oparse.calcTeams(runners, "COC")
     Oparse.assignTeamPositions(teams, "COC")
     
     resultrunners = [r for r in runners if r.status != "DidNotStart"]
     return resultrunners, teams
Exemplo n.º 2
0
    def process_results(self):

        path = "C:\\WIOL_SEASON_RESULTS_XML\\"
        p = re.compile('^WIOL(\d|c)\.xml$')
        events = [ f for f in os.listdir(path) if p.match(f) != None]
        
        # TODO: is this working? Feels like GUI is frozen? flush?
        self.status['text'] = 'Processing ' + str(len(events)) + ' results files.'
        
        urls = Oparse.getURLs('ResultURLs.csv')
        meetdata = {}
        
        for file in events:
            # TODO: use os module to split file names base vs extension
            infile = path + file
            outfileroot = path + file[:-4]
            runners, teams = self._processMeetResults(infile)
            
            meeturls = urls[file[:-4]]
            meeturls['indv_s'] = urls['season']['indv']
            meeturls['team_s'] = urls['season']['team']
            meeturls['full_s'] = urls['season']['ws']
            
            Oout.writeIndividualHTML(runners, meeturls, outfileroot+'-individualresults.html')
            Oout.writeIndividualHTML(runners, meeturls, outfileroot+'-WIOLIndividuals.html', {'WIOL':True})
            Oout.writeTeamHTML(teams, meeturls, outfileroot+'-teamresults.html')
            meetdata[file[:-4]] = {'indv': runners, 'teams': teams}
        
        seasonurls = {} # urls['season']  but keys are renamed.
        seasonurls['indv_s'] = urls['season']['indv']
        seasonurls['team_s'] = urls['season']['team']
        seasonurls['full_s'] = urls['season']['ws']
        
        Sindv, Steam = self._processSeasonResults(meetdata)
        
        Oout.writeSeasonIndivHTML(Sindv, seasonurls, path+'WIOLseason-INDV.html', {'WIOL':True})
        Oout.writeSeasonIndivHTML(Sindv, seasonurls, path+'WinterOseason.html', {'WIOL':False})
        Oout.writeSeasonTeamsHTML(Steam, seasonurls, path+'WIOLseason-TEAM.html')
        
        self.status['text'] = 'Done processing results'
        return
Exemplo n.º 3
0
 def _processSeasonResults(self, meetdata):
     Sindv, Steam = Oparse.createSeasonResults(meetdata)
     Sindv = Oparse.assignSeasonPositions(Sindv)
     Steam = Oparse.assignSeasonPositions(Steam)
     return Sindv, Steam