def __init__(self, app=None, canvas=None, scene=None): super(SceneController, self).__init__() self.canvas = canvas self.scene = scene self.app = app self.fixtures = [] self._max_pixels = 0 self._output_buffer = None self.show_center = False self._strand_keys = list() self._color_mode = self.app.config.get("color_mode") self._frame_data = {} self.strand_data = {} self.times = [] self.frame_start_time = 0.0 if self.canvas is not None: self.init_view() self._fixture_lookup_cache = self.scene.fixture_hierarchy() fixture_data = self.scene.get("fixtures", []) for fixture_data_item in fixture_data: f = Fixture(fixture_data_item, controller=self) self._fixture_lookup_cache[f.strand()][f.address()] = f self.fixtures.append(f) self.create_pixel_array()
def test_team1_winner(self): self.team1 = Team("Team 1", "Edinburgh, Scotland", "Murrayfield", 67000, 4, 0, 4, 0, 4, 2) self.fixture = Fixture(self.team1, self.team2) self.assertEqual(2, self.team1.score) self.assertEqual(1, self.team2.score) self.assertEqual(self.fixture.team1.team_name, self.fixture.determine_winner(self.team1, self.team2))
class TestTeam(unittest.TestCase): def setUp(self): self.team1 = Team("Team 1", "Edinburgh, Scotland", "Murrayfield", 67000, 4, 0, 4, 0, 4, 1) self.team2 = Team("Team 2", "Glasgow, Scotland", "Hampden", 52000, 4, 0, 4, 0, 4, 1) self.fixture = Fixture(self.team1, self.team2) # testing that fixture has not yet taken place, no score yet submitted # @unittest.skip("Delete this line to run the test") def test_determine_fixture_played(self): self.assertEqual("Team 1", self.team1.team_name) self.assertEqual("Team 2", self.team2.team_name) self.assertEqual("{team1.team_name}" + "v" + "{team2.team_name}", self.fixture.setup_fixture(self.team1, self.team2)) # testing function to determine the winner of the fixture/match/game # @unittest.skip("Delete this line to run the test") def test_no_winner(self): self.assertEqual(1, self.team1.score) self.assertEqual(1, self.team2.score) self.assertEqual(None, self.fixture.determine_winner(self.team1, self.team2)) # @unittest.skip("Delete this line to run the test") def test_team1_winner(self): self.team1 = Team("Team 1", "Edinburgh, Scotland", "Murrayfield", 67000, 4, 0, 4, 0, 4, 2) self.fixture = Fixture(self.team1, self.team2) self.assertEqual(2, self.team1.score) self.assertEqual(1, self.team2.score) self.assertEqual(self.fixture.team1.team_name, self.fixture.determine_winner(self.team1, self.team2)) # @unittest.skip("Delete this line to run the test") def test_team2_winner(self): self.team1 = Team("Team 1", "Edinburgh, Scotland", "Murrayfield", 67000, 4, 0, 4, 0, 4, 1) self.team2 = Team("Team 2", "Glasgow, Scotland", "Hampden", 52000, 4, 0, 4, 0, 4, 2) self.fixture = Fixture(self.team1, self.team2) self.assertEqual(1, self.team1.score) self.assertEqual(2, self.team2.score) self.assertEqual(self.fixture.team2.team_name, self.fixture.determine_winner(self.team1, self.team2))
def init_view(self): self.center_widget = CrosshairWidget(self.canvas, self.scene.center(), "Center", callback=self.on_center_moved) self.load_backdrop() self.fixtures = [] fixture_data = self.scene.get("fixtures", []) for fixture_data_item in fixture_data: fixture = Fixture(fixture_data_item, controller=self) self.fixtures.append(fixture) self._fixtures_by_strand[fixture.strand()].append(fixture) # Sort fixtures by address. self.fixtures = sorted(self.fixtures, key=lambda f: f.address()) for strand in self._fixtures_by_strand: self._fixtures_by_strand[strand] = sorted(self._fixtures_by_strand[strand], key=lambda f: f.address()) self.update_canvas()
def create_fixture(): team1 = request.form["team1_id"] team2 = request.form["team2_id"] team1 = team_repository.select(team1) team2 = team_repository.select(team2) new_fixture = Fixture(team1, team2) fixture_repository.save(new_fixture) return redirect("/fixtures")
def select(id): sql = "SELECT * FROM fixtures WHERE id = %s" values = [id] result = run_sql(sql, values)[0] team1 = team_repository.select(result["team1_id"]) team2 = team_repository.select(result["team2_id"]) fixture = Fixture(team1, team2, result['team1_score'], result['team2_score'], id) return fixture
def update_team(id): team1 = request.form["team1"] team2 = request.form["team2"] # team1.score = request.form["fixture.team1.score"] # team2.score = request.form["fixture.team2.score"] fixture = Fixture(team1, team2, id) fixture_repository.update(fixture) return redirect("/fixtures")
def create_fixture(): team1 = request.form["team1"] team2 = request.form["team2"] fixture = Fixture(team1, team2, id) if (fixture.team1 == fixture.team2): return redirect("/fixtures") else: fixture_repository.save(fixture) return redirect("/fixtures")
def get_fixture(path_to_file) -> []: fixture = [] with open(path_to_file, 'r') as csvfile: f_csv = csv.reader(csvfile, delimiter=',') next(f_csv) for f in f_csv: fix = Fixture(date=f[0],local=int(f[1]),visitante=int(f[2])) fixture.append(fix) return fixture
def select_all(): fixtures = [] sql = "SELECT * FROM fixtures" results = run_sql(sql) for result in results: team1 = team_repository.select(result["team1_id"]) team2 = team_repository.select(result["team2_id"]) fixture = Fixture(team1, team2, result["id"]) fixtures.append(fixture) return fixtures
def select(id): fixture = None sql = "SELECT * FROM fixtures WHERE id = %s" values = [id] result = run_sql(sql, values)[0] if result is not None: playlist = playlist_repo.select(result['playlist_id']) possible_game = possible_game_repo.select(result['possible_game_id']) fixture = Fixture(playlist, possible_game, result['id']) return fixture
def select_all(): fixtures = [] sql = "SELECT * FROM fixtures" results = run_sql(sql) for result in results: playlist = playlist_repo.select(result['playlist_id']) possible_game = possible_game_repo.select(result['possible_game_id']) fixture = Fixture(playlist, possible_game, result['id']) fixtures.append(fixture) return fixtures
def update_fixture(id): team1_id = request.form["team1_id"] team2_id = request.form["team2_id"] team1 = team_repository.select(team1_id) team2 = team_repository.select(team2_id) team1_score = request.form["team1_score"] team2_score = request.form["team2_score"] fixture = Fixture(team1, team2, team1_score, team2_score, id) fixture_repository.update(fixture) return redirect("/fixtures")
def add_fixture(self): fh = self.scene.fixture_hierarchy() if fh: new_strand = max(fh.keys()) new_address = max(fh[new_strand].keys()) + 1 else: new_strand = 0 new_address = 0 fixture = Fixture(controller=self, strand=new_strand, address=new_address) self.scene.add_fixture(fixture) self.update_canvas() self.create_pixel_array()
def _hydrate(self): assert self._controller is not None assert self._fixtures is None assert self._fixture_hierarchy is None if self._data.get("fixtures", None): self._fixtures = [ Fixture(data=fd, controller=self._controller) for fd in self._data["fixtures"] ] else: self._fixtures = [] self._fixture_hierarchy = defaultdict(dict) for f in self._fixtures: self._fixture_hierarchy[f.strand()][f.address()] = f
def show_team_fixtures(id): sql = "SELECT * FROM fixtures WHERE team1_id = %s OR team2_id = %s" fixtures = [] values = [id, id] results = run_sql(sql, values) for result in results: # get instance of Team class for the team that matches team1_id # get instance of team class for the team matching team2_id # create fixture object that has team1, team2, score1 and score2 # then append to fixtures team1 = team_repository.select(result["team1_id"]) team2 = team_repository.select(result["team2_id"]) fixture = Fixture(team1, team2, result["team1_score"], result["team2_score"]) # import pdb; pdb.set_trace() fixtures.append(fixture) return fixtures
def select(id): sql = "SELECT * FROM fixtures WHERE id = %s" values = [id] result = run_sql(sql, values)[0] fixture = Fixture(result["team1_id"], result["team2_id"], result["id"]) return fixture
def setUp(self): self.team1 = Team("Team 1", "Edinburgh, Scotland", "Murrayfield", 67000, 4, 0, 4, 0, 4, 1) self.team2 = Team("Team 2", "Glasgow, Scotland", "Hampden", 52000, 4, 0, 4, 0, 4, 1) self.fixture = Fixture(self.team1, self.team2)
import pdb from models.fixture import Fixture from models.team import Team import repositories.fixture_repository as fixture_repository import repositories.team_repository as team_repository fixture_repository.delete_all() team_repository.delete_all() team1 = Team("Hibs") team_repository.save(team1) team2 = Team("Hearts") team_repository.save(team2) team3 = Team("Celtic") team_repository.save(team3) team4 = Team("GB") team_repository.save(team4) fixture1 = Fixture(team1, team2) fixture_repository.save(fixture1) fixture2 = Fixture(team3, team4) fixture_repository.save(fixture2) pdb.set_trace()
0) team_repository.save(team_2) team_3 = Team("Juventus", "Turin, Italy", "Juventus Stadium", 41000, 4, 0, 4, 0, 4, 2) team_repository.save(team_3) team_4 = Team("Barcelona", "Barcelona, Catalonia, Spain", "Camp Nou", 99000, 4, 0, 4, 0, 4, 1) team_repository.save(team_4) team_5 = Team("AC Milan", "Milan, Italy", "Stadio Giuseppe Meazza (San Siro)", 80000, 4, 0, 4, 0, 4, 0) team_repository.save(team_5) fixture_1 = Fixture(team_1, team_2) fixture_repository.save(fixture_1) fixture_2 = Fixture(team_3, team_4) fixture_repository.save(fixture_2) fixture_3 = Fixture(team_1, team_3) fixture_repository.save(fixture_3) fixture_4 = Fixture(team_2, team_4) fixture_repository.save(fixture_4) fixture_5 = Fixture(team_1, team_4) fixture_repository.save(fixture_5) fixture_6 = Fixture(team_1, team_5)