def testImportLeagueWarnings(self): """Import a league that has warnings""" sponsor_name = str(uuid.uuid1()) league_name = str(uuid.uuid1()) division_name = str(uuid.uuid1()) team_two_color = "Red" sponsor = self.add_sponsor(sponsor_name) league = self.add_league(league_name) division = self.add_division(division_name) team_two = self.add_team(team_two_color, sponsor, league) date = datetime.datetime.today().strftime("%Y-%m-%d") time = datetime.datetime.today().strftime("%H:%M") header_line = ",".join([ HEADERS["home"], HEADERS["away"], HEADERS["date"], HEADERS["time"], HEADERS["field"] ]) entry = "{},{},{},{},{}".format("not a team", team_two["team_name"], date, time, "WP1") lines = [ "{}:,{},".format(BACKGROUND['league'], league["league_name"]), "{}:,{},".format(BACKGROUND['division'], division["division_name"]), header_line, entry ] league_importer = LeagueList(lines, session=TestImportMockSession(self)) league_importer.import_league_functional() error = "Expected warning when importing league with non-existent team" self.assertEqual(len(league_importer.warnings), 1, error) league = League.query.get(league["league_id"]) games = [] for game in league.games: games.append(game.json()) self.assertEqual(len(games), 0, "Did add game where team was missing")
def admin_import_game_list(): results = {'errors': [], 'success': False, 'warnings': []} if not logged_in(): results['errors'].append("Permission denied") return dumps(results) file = request.files['file'] if file and allowed_file(file.filename): content = (file.read()).decode("UTF-8") lines = content.replace("\r", "") lines = lines.split("\n") team = LeagueList(lines) team.import_league_functional() results['errors'] = team.errors results['warnings'] = team.warnings results['success'] = True if len(results['errors']) > 0: results['success'] = False else: results['errors'] = "File should be a CSV" results['success'] = False return dumps(results)