Example #1
0
 def test_get_number_of_navi_buttons_events(self):
     # set
     events_driver = WebDriver()
     events_driver.get(self.events_list_link)
     # act
     events_downloader = SportZonaDownloader('event', events_driver)
     events_navi_buttons = events_downloader.get_number_of_navi_buttons()
     # test
     self.assertEqual(events_navi_buttons, 15,
                      "Events list navi button counter")
Example #2
0
 def test_get_number_of_navi_buttons_matches(self):
     # set
     matches_driver = WebDriver()
     matches_driver.get(self.matches_list_link)
     matches_downloader = SportZonaDownloader('match', matches_driver)
     # act
     matches_navi_buttons = matches_downloader.get_number_of_navi_buttons()
     # test
     self.assertEqual(matches_navi_buttons, 12,
                      "Matches list navi button counter")
Example #3
0
 def test_get_number_of_navi_buttons_clubs(self):
     # set
     clubs_driver = WebDriver()
     clubs_driver.get(self.clubs_list_link)
     # act
     clubs_downloader = SportZonaDownloader('club', clubs_driver)
     clubs_navi_buttons = clubs_downloader.get_number_of_navi_buttons()
     # test
     self.assertEqual(clubs_navi_buttons, 15,
                      "Clubs list navi button counter")
    def iterate_by_competition(self):
        iterator_driver = WebDriver()
        iterator_driver.get('https://sportzona.pl/app/events/list/sumo')
        competitions_iterator = SportZonaDownloader('event', iterator_driver)
        self.driver.close()
        self.driver = WebDriver()
        first_time = True

        for pages in range(competitions_iterator.get_number_of_pages()):
            for row in range(1,
                             competitions_iterator.get_number_of_all_rows()):
                if first_time:
                    for _ in range(self.start_page):
                        competitions_iterator.got_to_next_page()
                    sleep(0.5)
                    first_time = False
                if self.skip_counter == 0:
                    try:
                        competitions_link = competitions_iterator.get_row_column_link(
                            row, 1)
                        print(competitions_link)
                        self.driver.get(competitions_link)
                        self.download_competitions()
                        self.download_matches()
                    except Exception as ex:
                        print(ex)
                else:
                    self.skip_counter -= 1
            competitions_iterator.got_to_next_page()
            self.driver.close()
            self.driver = WebDriver()
Example #5
0
 def test_get_number_of_navi_buttons_competitors(self):
     # set
     competitors_driver = WebDriver()
     competitors_driver.get(self.competitors_list_link)
     # act
     competitors_downloader = SportZonaDownloader('competitors',
                                                  competitors_driver)
     competitors_navi_buttons = competitors_downloader.get_number_of_navi_buttons(
     )
     # test
     self.assertEqual(8, competitors_navi_buttons,
                      "Competitors list navi button counter")
    def download_matches(self):
        self.generate_id()
        competitor_1_link = ''
        competitor_2_link = ''
        sport_zona_downloader = SportZonaDownloader('match', self.driver)
        actual_category = None
        category_at_competition_id = None
        category_id = None
        category_obj = None
        category_at_competition = None
        for page in range(sport_zona_downloader.get_number_of_pages()):
            sleep(0.2)
            for row in range(
                    1,
                    sport_zona_downloader.get_number_of_all_rows() - 1):
                if sport_zona_downloader.check_row(row):
                    try:
                        fight_round = sport_zona_downloader.get_row_column_value(
                            row, 2)
                        self.gender = self.gender.lower()
                        self.age = self.ageCategoriesUpdater.get_age_categories(
                            self.age)
                        category = sport_zona_downloader.get_row_column_value(
                            row, 1).lower()
                        category = category.replace('kg', '')
                        category = category.replace(' ', '')
                        if category != actual_category:
                            actual_category = category
                            category_id = generate_id(category, self.age,
                                                      self.gender)
                            category_at_competition_id = generate_id(
                                sport_zona_downloader.get_row_column_value(
                                    row, 1).lower(), str(category_id),
                                str(self.competition_id))
                            category_obj = WeightCategory(
                                category, self.age, category_id, self.gender)
                            category_at_competition = CategoryAtCompetitions(
                                category_id, self.competition_id,
                                category_at_competition_id)
                        session_maker = sessionmaker(self.db)
                        # session = session_maker()
                        # # session.add(category_at_competition)
                        # # session.commit()
                        # session.close()
                        # Get competitors from db if can do this by name and club
                        # else get licence_no from profile page in sport_zona
                        description_competitor_1 = sport_zona_downloader.get_row_column_link_text(
                            row, 3)
                        description_competitor_2 = sport_zona_downloader.get_row_column_link_text(
                            row, 10)
                        competitor_1_link = sport_zona_downloader.get_row_column_link(
                            row, 3)
                        competitor_2_link = sport_zona_downloader.get_row_column_link(
                            row, 10)
                        first_win = sport_zona_downloader.get_row_winner(row)
                        competitor_1 = self.check_competitor_in_db(
                            description_competitor_1)
                        competitor_2 = self.check_competitor_in_db(
                            description_competitor_2)
                        if not competitor_1:
                            competitor_1_driver = WebDriver()
                            competitor_1_driver.get(competitor_1_link)
                            competitor_1_downloader = SportZonaDownloader(
                                'competitors', competitor_1_driver)
                            competitor_1 = competitor_1_downloader.download_competitor_data(
                            )
                            competitor_1_driver.close()
                        if not competitor_2:
                            competitor_2_driver = WebDriver()
                            competitor_2_driver.get(competitor_2_link)
                            competitor_2_downloader = SportZonaDownloader(
                                'competitors', competitor_2_driver)
                            competitor_2 = competitor_2_downloader.download_competitor_data(
                            )
                            competitor_2_driver.close()

                        print(fight_round, self.competition_name, self.gender,
                              self.age, category)
                        print(competitor_1_link, competitor_2_link, first_win,
                              category_id)
                        # self.update_gender(competitor_1, self.gender)
                        # self.update_gender(competitor_2, self.gender)
                        winner = competitor_1 if first_win else competitor_2
                        new_match = Match(
                            competitor_1.licence_no, competitor_2.licence_no,
                            category_at_competition_id, winner.licence_no,
                            generate_id(str(competitor_1.licence_no),
                                        str(competitor_2.licence_no),
                                        str(self.match_no)), fight_round)
                        self.match_no += 1
                        # session_maker = sessionmaker(self.db)
                        # session = session_maker()
                        # session.merge(category_obj)
                        # session.merge(new_match)
                        # session.commit()
                        # session.close()
                    except Exception as ex:
                        # session.close()
                        print(ex)
            # sleep(0.3)
            sport_zona_downloader.got_to_next_page()
Example #7
0
    #                         try:
    #                             single_competitor_downloader.go_to_link(link)
    #                             sleep(1)
    #                             competitor = single_competitor_downloader.download_competitor_data(club.club_id)
    #                             try:
    #                                 session_competitors.add(competitor)
    #                                 session_competitors.commit()
    #                                 # print(competitor, "błąd dodania")
    #                             except Exception  as e:
    #                                 print(e)
    #                                 session_competitors.rollback()
    #                                 print(competitor,"błąd dodania")
    #                             print(competitor)
    #                         except Exception as ex:
    #                             print(ex)
    #                     if p < (pages_of_competitors - 1):
    #                         competitor_downloader.got_to_next_page()
    #             else:
    #                 print(club_downloader.get_row_column_value(i, 1), "not from poland")
    #         except Exception as ex:
    #             print(ex)
    #     club_downloader.got_to_next_page()
    #
single_competitor_downloader = SportZonaDownloader('competitors',
                                                   single_competitor_driver)
single_competitor_downloader.go_to_link(
    'https://sportzona.pl/app/players/view/sumo/22259')
competitor = single_competitor_downloader.download_competitor_data(1500021)
session_competitors.add(competitor)
session_competitors.commit()
session_competitors.close()