def test_generate_commentory(self): test_message_string = "3.2 Test Player scores 2 run" test_out_message_string = "3.2 Test Player out" message_string = Commentary.generate_commentary(current_over=3, current_ball=2, name='Test Player', run=2) message_out_string = Commentary.generate_commentary(current_over=3, current_ball=2, name='Test Player', run=None) self.assertEqual(test_message_string,message_string) self.assertEqual(test_out_message_string, message_out_string) print("Generate Commentory test case executed successfully", end='\n\n')
def test_generate_summary(self): test_message_string = "Match Drawn" message_string = Commentary.generate_summary(losing_team=None, winning_team=None) self.assertEqual(test_message_string, message_string) print("Generate Summary for match drawn test case executed successfully", end='\n\n')
def test_generate_commentary_over_wise(self): test_message_string = "1 overs remaining and 11 runs to win" message_string = Commentary.generate_commentary_over_wise(overs_left=1, runs_to_win=11) self.assertEqual(test_message_string, message_string) print("Generate Commentory over wise test case executed successfully", end='\n\n')
def insertCommentary(): global Comments # obteniendo el ultimo id para tener un correlativo commentary = Comments[-1] position = commentary.getId() + 1 new = Commentary(position, request.json['id_user'], request.json['username_user'], request.json['id_song'], request.json['date'], request.json['description']) Comments.append(new) answer = jsonify({'message': 'Added commentary'}) return (answer)
def test_generate_losing_team_summary(self): test_losing_message_string = "team2 lost by 1 wicket Kirat Boli - 36* (6 balls ) N S Nodhi - 0* (0 balls )" team2 = Team("team2") p3 = Player('Kirat Boli', batting_order=1, probability_distribution=[0, 0, 0, 0, 0, 0, 100, 0]) p4 = Player('N S Nodhi', batting_order=2, probability_distribution=[0, 0, 0, 0, 0, 0, 100, 0]) team2.add_players(p3) team2.add_players(p4) team2.play(overs=1, balls_per_over=6, target=40) losing_message_string = Commentary.generate_team_summary(team2, is_winner=0) self.assertEqual(test_losing_message_string, losing_message_string) print("Generate Summary for losing team test case executed successfully", end='\n\n')
def test_generate_winning_team_summary(self): test_winning_message_string = "team1 won by 1 wicket and 3 over 0 balls remaining Kirat Boli - 36* (6 balls ) N S Nodhi - 0* (0 balls )" team1 = Team("team1") p1 = Player('Kirat Boli', batting_order=1, probability_distribution=[0, 0, 0, 0, 0, 0, 100, 0]) p2 = Player('N S Nodhi', batting_order=2, probability_distribution=[0, 0, 0, 0, 0, 0, 100, 0]) team1.add_players(p1) team1.add_players(p2) team1.play(overs=4, balls_per_over=6, target=35) winning_message_string = Commentary.generate_team_summary(team1, is_winner=1) self.assertEqual(test_winning_message_string, winning_message_string) print("Generate Summary for winning team test case executed successfully", end='\n\n')
team1 = Team('Bengaluru') team2 = Team('Chennai') team2.set_runs(40) p1 = Player('Kirat Boli', batting_order=1, probability_distribution=[5, 30, 25, 10, 15, 1, 9, 5]) p2 = Player('N S Nodhi', batting_order=2, probability_distribution=[10, 40, 20, 5, 10, 1, 4, 10]) p3 = Player('R Rumrah', batting_order=3, probability_distribution=[20, 30, 15, 5, 5, 1, 4, 20]) p4 = Player('Shashi Henra', batting_order=4, probability_distribution=[30, 25, 5, 0, 5, 1, 4, 30]) team1.add_players(p1) team1.add_players(p2) team1.add_players(p3) team1.add_players(p4) game.add_team(team1) game.add_team(team2) result_object = game.play() Commentary.generate_summary(result_object["winning_team"], result_object["losing_team"])
def play(self, overs, balls_per_over, target): self.total_overs = overs self.balls_per_over = balls_per_over # set state of a team to batting self.set_state(1) # set active players self.set_active_players() runs_to_win = target - self.runs_scored current_over = 0 while current_over < overs and runs_to_win >= 0: if target: Commentary.generate_commentary_over_wise( self.total_overs - current_over, runs_to_win) else: Commentary.generate_commentary_over_wise(self.total_overs - current_over) current_ball = 1 while current_ball <= balls_per_over and runs_to_win >= 0: self.total_balls_played += 1 self.current_player = self.active_players[ self.current_active_player_index] if self.current_player.get_position_on_pitch() == 0: self.current_player.set_position_on_pitch(1) runs = self.current_player.play(Game.available_runs) # Generate ball by ball commentary Commentary.generate_commentary(current_over, current_ball, self.current_player.name, runs) # updating total runs of a team if runs is not None: self.set_runs(runs) runs_to_win = target - self.runs_scored if runs == 1 or runs == 3 or runs == 5: self.change_positions() # when a player is out if runs is None: # setting current player state to out i.e. 0 self.current_player.set_state(0) # changing active players and setting it to next player next_player = self.get_next_player() if next_player: self.active_players[ self.current_active_player_index] = next_player else: return self.runs_scored current_ball += 1 current_over += 1 self.total_overs_played += 1 # change position after every over self.change_positions() # set state of the team again self.set_state(1) return self.runs_scored
def main(_): cfg = config.Config({ 'env_name': FLAGS.env_name, 'action_set': FLAGS.action_set, 'away_players': FLAGS.away_players.split(',') if FLAGS.away_players else '', 'dump_full_episodes': True, 'home_players': FLAGS.home_players.split(',') if FLAGS.home_players else '', 'real_time': FLAGS.real_time, 'render': True }) if FLAGS.level: cfg['level'] = FLAGS.level model_name = '345M' seed = None length = 80 temperature = 1 top_k = 0 top_p = 0.0 enc = encoder.get_encoder(model_name) hparams = model.default_hparams() with open(os.path.join('models', model_name, 'hparams.json')) as f: hparams.override_from_dict(json.load(f)) gpu_options = tf.GPUOptions(allow_growth=True) with tf.Session(graph=tf.Graph(), config=tf.ConfigProto(gpu_options=gpu_options)) as sess: context = tf.placeholder(tf.int32, [1, None]) np.random.seed(seed) tf.set_random_seed(seed) output = sample.sample_sequence(hparams=hparams, length=length, context=context, batch_size=1, temperature=temperature, top_k=top_k, top_p=top_p) saver = tf.train.Saver() ckpt = tf.train.latest_checkpoint(os.path.join('models', model_name)) saver.restore(sess, ckpt) context_tokens = enc.encode('initializing') out = sess.run(output, feed_dict={context: [context_tokens for _ in range(1)]})[:, len(context_tokens):] enc.decode(out[0]) env = football_env.FootballEnv(cfg) env.reset(cfg) commentary = Commentary() try: prompt = 'initializing' commentary_thread = threading.Thread(target=threaded_inference, args=(enc, prompt, sess, output, context)) while True: observation, reward, done, info = env.step(None) prompt, interrupt_current_commentary = commentary.process_observation( observation) if prompt: if commentary_thread.is_alive(): if interrupt_current_commentary: # commentary_thread kill/stop # commentary_thread.start() print('thread alive') else: commentary_thread = threading.Thread( target=threaded_inference, args=(enc, prompt, sess, output, context)) commentary_thread.start() if done: env.reset() except KeyboardInterrupt: env.write_dump('shutdown') exit(1)
'https://www.youtube.com/embed/lFw6sxMGIHk', 1)) Songs.append( Song(3, 'Vibra Positiva - inactiva', 'Zona Ganjah', 'Con Rastafari Todo Concuerda', 'https://i.scdn.co/image/ab67616d0000b273fb61203117d2324964d71c47', '2005', 'https://open.spotify.com/embed/track/061cp08tzW2q8qaqNkad28', 'https://www.youtube.com/embed/lFw6sxMGIHk', 2)) Songs.append( Song(4, 'Vibra Positiva - inactiva', 'Zona Ganjah', 'Con Rastafari Todo Concuerda', 'https://i.scdn.co/image/ab67616d0000b273fb61203117d2324964d71c47', '2005', 'https://open.spotify.com/embed/track/061cp08tzW2q8qaqNkad28', 'https://www.youtube.com/embed/lFw6sxMGIHk', 2)) Comments.append(Commentary(1, 1, 'root', 1, '2020', 'Que buena rola')) Comments.append(Commentary(2, 2, 'diego', 1, '2020', 'La escucho diario')) Comments.append(Commentary(3, 1, 'root', 2, '2020', 'Me levanta el animo')) Comments.append(Commentary(4, 2, 'diego', 2, '2020', 'Buen ritmo')) Playlists.append(Playlist(1, 1, 'Rolitas', 'Musica favorita :D')) Playlists.append(Playlist(2, 2, 'Musica varia', 'Musica para el gimnasio')) Playlist_song_array.append(Playlist_song(1, 1, 1)) Playlist_song_array.append(Playlist_song(2, 2, 1)) Playlist_song_array.append(Playlist_song(3, 1, 2)) Playlist_song_array.append(Playlist_song(4, 2, 2)) # --------------- CONTADORES --------------- # Es cinco porque ya hay 4 registros en las lineas (29 - 33) cont_song = 5