def CSVExportTIMD(comp, name, keys=[]): calculator = Math.Calculator(comp) excluded = [ 'calculatedData', 'highShotTimesForBoilerAuto', 'highShotTimesForBoilerTele' ] with open('./EXPORT-' + name + '.csv', 'w') as f: defaultKeys = [ k for k in TeamInMatchData().__dict__.keys() if k not in excluded and k in keys ] defaultKeys += [ k for k in TeamInMatchData().calculatedData.__dict__.keys() if k in keys ] defaultKeys = sorted( defaultKeys, key=lambda k: (k != 'matchNumber' and k != 'teamNumber', k.lower())) writer = csv.DictWriter(f, fieldnames=defaultKeys) writer.writeheader() comp.updateTIMDsFromFirebase() for timd in comp.TIMDs: tDict = timd.__dict__ tDict.update(timd.calculatedData.__dict__) keys = sorted( defaultKeys, key=lambda k: (k != 'matchNumber' and k != 'teamNumber', k.lower())) writer.writerow({k: tDict[k] for k in keys})
def CSVExportTeam(comp, name, keys=[]): calculator = Math.Calculator(comp) excluded = [ 'calculatedData', 'name', 'imageKeys', 'pitAllImageURLs', 'pitSelectedImageName' ] with open('./EXPORT-' + name + '.csv', 'w') as f: defaultKeys = [ k for k in Team().__dict__.keys() if k not in excluded and k in keys ] defaultKeys += [ k for k in Team().calculatedData.__dict__.keys() if k in keys ] defaultKeys = sorted(defaultKeys, key=lambda k: (k != 'number', k.lower())) writer = csv.DictWriter(f, fieldnames=defaultKeys) writer.writeheader() for team in comp.teams: team.numMatchesPlayed = len( calculator.su.getCompletedMatchesForTeam(team)) tDict = team.__dict__ tDict.update(team.calculatedData.__dict__) keys = sorted(defaultKeys, key=lambda k: (k != 'number', k.lower())) writer.writerow({k: tDict[k] for k in keys})
def CSVExportMatch(comp, name, keys=[]): calculator = Math.Calculator(comp) excluded = ['calculatedData', 'name'] with open('./EXPORT-' + name + '.csv', 'w') as f: defaultKeys = [ k for k in Match().__dict__.keys() if k not in excluded and k in keys ] defaultKeys += [ k for k in Match().calculatedData.__dict__.keys() if k in keys ] defaultKeys = sorted(defaultKeys, key=lambda k: (k != 'number', k.lower())) writer = csv.DictWriter(f, fieldnames=defaultKeys) writer.writeheader() for match in comp.matches: tDict = match.__dict__ tDict.update(match.calculatedData.__dict__) keys = sorted(defaultKeys, key=lambda k: (k != 'number', k.lower())) writer.writerow({k: tDict[k] for k in keys})
#Last Updated: 3/15/18 from CSVExporter import * from scoutRotator import * from SPR import ScoutPrecision import DataModel import firebaseCommunicator import traceback import numpy as np import Math from pydub import AudioSegment from pydub.playback import play PBC = firebaseCommunicator.PyrebaseCommunicator() fb = PBC.firebase comp = DataModel.Competition(PBC) calc = Math.Calculator(comp) spr = ScoutPrecision() while (True): comp.updateTeamsAndMatchesFromFirebase() comp.updateTIMDsFromFirebase() cmd = raw_input('>>> ').split() if cmd[0] == 'exp': try: if cmd[1] == 'timd': if cmd[2] == '-all': CSVExportTIMDALL(comp) comp.PBC.sendExport('EXPORT-TIMDALL.csv') elif cmd[2] == '-other': print('') elif cmd[1] == 'team':