def create_users(): user_1 = User.objects.create_user("testuser1", "*****@*****.**", "test123") user_2 = User.objects.create_user("testuser2", "*****@*****.**", "test123") user_3 = User.objects.create_user("testuser3", "*****@*****.**", "test123") user_4 = User.objects.create_user("testuser4", "*****@*****.**", "test123") user_5 = User.objects.create_user("testuser5", "*****@*****.**", "test123") user_6 = User.objects.create_user("testuser6", "*****@*****.**", "test123") team_1 = Team(name="Team 1", description="Team 1") team_1.save() team_2 = Team(name="Team 2", description="Team 2") team_2.save() team_3 = Team(name="Team 3", description="Team 3") team_3.save() emp_1 = Employee(user=user_1, team=team_1, name="Test 1") emp_1.save() emp_2 = Employee(user=user_2, team=team_1, name="Test 2") emp_2.save() emp_3 = Employee(user=user_3, team=team_2, name="Test 3") emp_3.save() emp_4 = Employee(user=user_4, team=team_2, name="Test 4") emp_4.save() emp_5 = Employee(user=user_5, team=team_3, name="Test 5") emp_5.save() emp_6 = Employee(user=user_6, team=team_3, name="Test 6") emp_6.save()
def initial_comp_setup(): round_setup() for round in range(1, ROUNDS + 1): logger.info("Fetching round %s/%s...", round, ROUNDS) start = datetime.now() r = requests.get( "http://api.stats.foxsports.com.au/3.0/api/sports/league/series/1/seasons/116/rounds/" + str(round) + "/fixturesandresultswithbyes.json?userkey=A00239D3-45F6-4A0A-810C-54A347F144C2" ) if round == 1: # Setup teams if they don't already exist team_ids = list(Team.objects.values_list('fox_id', flat=True)) for game in json.loads(r.text): team = {} team['name'] = game["team_A"]["name"] + ' ' + game["team_A"][ "short_name"] team['fox_id'] = game["team_A"]["id"] if team['fox_id'] not in team_ids: team_ids.append(team['fox_id']) logger.info("Adding team %s to teams", team['name']) new_team = Team(name=team['name'], fox_id=team['fox_id']) new_team.save() team = {} team['name'] = game["team_B"]["name"] + ' ' + game["team_B"][ "short_name"] team['fox_id'] = game["team_B"]["id"] if team['fox_id'] not in team_ids: team_ids.append(team['fox_id']) logger.info("Adding team %s to teams", team['name']) new_team = Team(name=team['name'], fox_id=team['fox_id']) new_team.save() for game in json.loads(r.text): fixture_id = game["fixture_id"] round_object = Round.objects.get(round=round) game_time = parse_datetime(game["match_start_date"]) home_team = Team.objects.get(fox_id=game["team_A"]["id"]) away_team = Team.objects.get(fox_id=game["team_B"]["id"]) stadium = game["venue"]["name"] new_game = Game(fixture_id=fixture_id, start_time=game_time, round=round_object, home_team=home_team, away_team=away_team, stadium=stadium) new_game.save() end = datetime.now() elapsed_time = end - start if elapsed_time.total_seconds() < 5: time.sleep(5 - elapsed_time.total_seconds())
def mock_data(): db.drop_all() db.create_all() # insert teams cubs = Team("Chicago Cubs") yankees = Team('New York Yankees') tigers = Team("Detroit Tigers") db.session.add_all([cubs, yankees, tigers]) db.session.flush() # insert players arizzo = Player("Anthony Rizzo", "1B", cubs.id) kbryant = Player("Kris Bryant", "3B", cubs.id) kschwarber = Player("Kyle Schwarber", "LF", cubs.id) jbaez = Player("Javier Baez", "2B", cubs.id) db.session.add_all([arizzo, kbryant, kschwarber, jbaez]) db.session.flush() # insert stats ba = Statistic("Batting Average", "Batting", "%", True) obp = Statistic("On Base Percentage", "Batting", "%", True) slg = Statistic("Slugging Percentage", "Batting", "%", True) db.session.add_all([ba, obp, slg]) db.session.flush() # insert player stat records db.session.add(PlayerStat(ba.id, arizzo.id, .273, .268)) db.session.add(PlayerStat(obp.id, arizzo.id, .366, .219)) db.session.add(PlayerStat(slg.id, arizzo.id, .214, .485)) db.session.add(PlayerStat(ba.id, kbryant.id, .289, .348)) db.session.add(PlayerStat(obp.id, kbryant.id, .390, .464)) db.session.add(PlayerStat(slg.id, kbryant.id, .530, .630)) db.session.commit()
def teams(): if request.method == 'GET': return jsonify({'teams': [t.to_json() for t in Team.query.all()]}) if request.method == 'POST': if not request.json or not 'team' in request.json: # flash('Malformed request, "team" not found in JSON', 'danger') # abort(400) return _api_error('Malformed request, "team" not found in JSON', 'danger') db.session.add(Team(request.json.get('team'))) db.session.commit() return Response(status=200)
def port_csv_to_db(): csv_path = "/home/ubuntu/test-bigdata/new_bd_resp.csv" df = pd.read_csv(csv_path) for index, row in df.iterrows(): try: team_obj = Team(team_name=row["Enter team name"], member_1=row["Team member 1 email"], member_2=row["Team member 2 email"], member_3=row["Team member 3 email"], member_4=row["Team member 4 email"]) team_obj.save() except Exception as e: print(e) print("Invalid row")
def register_boat(data): boat = Boat(name=data['name'], boat_class_id=data['boat_class'], boat_number=data['boat_number'], tech_inspection=data['tech_inspection']) try: boat.save() team = Team(boat_id=boat.id, member_id=data['member']) team.save() return HttpResponse(renderers.JSONRenderer().render({'status': '1'})) except db.DataError as e: return HttpResponse(renderers.JSONRenderer().render({ 'status': '0', 'error': e }))
def restore_object(self, attrs, instance=None): org = attrs.get('organization', None) projects = attrs.get('projects', []) if instance: instance.organization = org if org else instance.organization instance.name = attrs.get('team_name', instance.name) instance.projects.clear() for project in projects: instance.projects.add(project) return instance team_name = attrs.get('team_name', None) if not team_name: self.errors['name'] = u'A team name is required' return attrs return Team(organization=org, name=team_name)
def setUp(self): db.create_all() db.session.commit() team1 = Team('Team 1') team2 = Team('Team 2') db.session.add(team1) db.session.add(team2) # so primary key gets populated db.session.flush() user1 = User('user1', 'Test User', [team1.id]) user2 = User('user2', 'Another User', [team1.id]) user3 = User('user3', 'Byzantine Candor', [team1.id, team2.id]) user4 = (User('user4', 'Cottonmouth', [team1.id, team2.id])) db.session.add(user1) db.session.add(user2) db.session.add(user3) db.session.add(user4) db.session.flush() db.session.add(Schedule(team1.id, user1.id, "Primary", 0)) db.session.add(Schedule(team1.id, user2.id, "Secondary", 0)) db.session.add(Schedule(team1.id, user3.id, "Primary", 1)) db.session.add(Schedule(team1.id, user1.id, "Secondary", 1)) db.session.add(Schedule(team1.id, user2.id, "Primary", 2)) db.session.add(Schedule(team1.id, user3.id, "Secondary", 2)) db.session.add(Schedule(team2.id, user3.id, "Primary", 0)) db.session.add(Schedule(team2.id, user4.id, "Secondary", 0)) db.session.add(Schedule(team2.id, user4.id, "Primary", 1)) db.session.add(Schedule(team2.id, user3.id, "Secondary", 1)) db.session.commit()
def create_team(data): print(data) token = Token.objects.get(token=data['auth_token']) for member in data['member']: team = Team(boat_id=Team.objects.get(member_id=token.user_id).boat_id, member_id=member) try: team.save() Member.objects.filter(id=member).update(take_part_flag=False) except db.DataError as e: return HttpResponse(renderers.JSONRenderer().render({ 'status': '0', 'error': e })) return HttpResponse(renderers.JSONRenderer().render("lol"))
modified=timezone.now(), uid=uuid4(), name=row['name'], state=State.states.get(name__iexact=row['name_state']), slug=slugify(row['name']+'_'+row['name_state']),) p.save() with open('./populate/teams.csv') as c: r = DictReader(c) for row in r: city = City.cities.get(name__iexact=row['name_city']) authority = Authority.authorities.get(name__iexact=row['name_authority']) p = Team(created=timezone.now(), modified=timezone.now(), uid=uuid4(), name=row['name'], city=city, authority=authority, kind=row['kind'], slug=slugify(row['name']),) p.save() with open('./populate/finishes.csv') as c: r = DictReader(c) for row in r: tourney = Tournament.tournaments.get(name__iexact=row['name_tournament']) team = Team.teams.get(name__iexact=row['name_team']) p = Finish(created=timezone.now(), modified=timezone.now(), uid=uuid4(), tournament=tourney, team=team,
def test_passing(): model = Team( id=1, team_name="test_team", ) assert model.team_name == "test_team"
def get_teams_by_summoner_id(summoner_id, region): """ Get team data, given a summoner ID and region, and stores it in the DB. Each summoner can have 0 or more teams. This checks for matching teams in the DB and updates them if they are present, otherwise it creates a new team. Matches are made by comparing region and full_id. Team queries to the Riot API return the following data, per team: -timestamps for roster invites -timestamps for roster joins -summoner IDs for team roster -summoner ID for team owner -match summary for each game played -summary for overall performance in 5v5 and 3v3 -team basic data (e.g. tag, name, etc) -timestamps for most recent game, team modified, team created """ # Riot API returns HTTP 404 if summoner is not on any teams. try: teams_dto = riot_api.get_teams_for_summoner(summoner_id, region) got_teams = True except LoLException as e: got_teams = False if e == error_404: print('Summoner ID', summoner_id, 'is not on any teams (error_404).') else: got_teams = False print('ERROR getting teams:', e) if got_teams: # teams_dto is a list that will contain an entry for each team the summoner is on. for team in teams_dto: # Can we match this data to a Team in the DB? try: matching_team = Team.objects.filter(region=region).get( full_id=team['fullId']) # We found a match, so set the working Team to that. print('Found matching Team {} {}'.format( matching_team.region, matching_team.name)) matched = True new_team = matching_team except ObjectDoesNotExist: # No match found, so create a new Team. matched = False print('No matching team found. Creating a new Team...') new_team = Team() # We get all the Team data from Riot API call, # so we can delete everything and just create new models below. if matched: new_team.roster.delete() new_team.delete() # Set everything in the Team model that isn't a related field. new_team.create_date = team['createDate'] new_team.full_id = team['fullId'] # If team hasn't played a game (this season?) if 'lastGameDate' in team: new_team.last_game_date = team['lastGameDate'] new_team.last_joined_ranked_team_queue_date = team[ 'lastJoinedRankedTeamQueueDate'] new_team.modify_date = team['modifyDate'] new_team.name = team['name'] new_team.last_join_date = team['lastJoinDate'] new_team.second_last_join_date = team['secondLastJoinDate'] new_team.third_last_join_date = team['thirdLastJoinDate'] new_team.status = team['status'] new_team.tag = team['tag'] new_team.region = region # This leaves: roster, teamStatDetails, matchHistory. roster_dto = team['roster'] team_stat_details_dto = team['teamStatDetails'] # If team hasn't played a game (extends past this season, so no games played ever!) if 'matchHistory' in team: match_history_dto = team['matchHistory'] # Setup and save the Roster model. new_roster = Roster(owner_id=roster_dto['ownerId']) new_roster.save() # We can set the roster relation on the Team model now, and save it. new_team.roster = new_roster new_team.save() # Setup and save the TeamMemberInfo models for this Roster. for member in roster_dto['memberList']: new_member = TeamMemberInfo(invite_date=member['inviteDate'], join_date=member['joinDate'], player_id=member['playerId'], status=member['status'], roster=new_roster) new_member.save() # Setup and save the TeamStatDetail models for the Team. for stats in team_stat_details_dto: new_stats = TeamStatDetail( team_stat_type=stats['teamStatType'], average_games_played=stats['averageGamesPlayed'], wins=stats['wins'], losses=stats['losses'], team=new_team) new_stats.save() # Setup and save the MatchHistorySummary models for the Team, if it has a history. if match_history_dto: for match in match_history_dto: new_match = MatchHistorySummary( assists=match['assists'], date=match['date'], deaths=match['deaths'], game_id=match['gameId'], game_mode=match['gameMode'], invalid=match['invalid'], kills=match['kills'], map_id=match['mapId'], opposing_team_kills=match['opposingTeamKills'], opposing_team_name=match['opposingTeamName'], win=match['win'], team=new_team) new_match.save()