Пример #1
0
    def testStageToTime(self):
        with open(os.path.join(TEST_DIR, 'test_data.json')) as json_file:
            ge_data = json.load(json_file)
        times = truthsaver.TruthSaver().stage_data_to_times((19, 'aztec'),
                                                            ge_data)

        marc_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Dark+Inkosi/time/110357',
            time_id=110357,
            player='Marc Rützou',
            mode='SA',
            stage='aztec',
            time=92,
            status=0)
        david_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~True+Faith/time/104342',
            time_id=104342,
            player='David Clemens',
            mode='00A',
            stage='aztec',
            time=97,
            status=0)

        self.assertEqual(times[marc_entry.url], marc_entry)
        self.assertEqual(times[david_entry.url], david_entry)

        with open(os.path.join(TEST_DIR, 'test_pd.json')) as pd_json_file:
            pd_data = json.load(pd_json_file)
        pd_times = truthsaver.TruthSaver().stage_data_to_times(
            (21, 'defection'), pd_data)
        jezz_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~jezz/time/111493',
            time_id=111493,
            player='jezz',
            mode='PA',
            stage='defection',
            time=82,
            status=0)
        illu_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Illu/time/20761',
            time_id=20761,
            player='Illu',
            mode='Agent',
            stage='defection',
            time=5,
            status=0)
        karl_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Sim+Threat/time/98614',
            time_id=98614,
            player='Sim Threat',
            mode='SA',
            stage='defection',
            time=19,
            status=0)

        self.assertEqual(pd_times[jezz_entry.url], jezz_entry)
        self.assertEqual(pd_times[illu_entry.url], illu_entry)
        self.assertEqual(pd_times[karl_entry.url], karl_entry)
Пример #2
0
    def testLtkToEntries(self, mock_get):
        truth = truthsaver.TruthSaver()
        attack_ship_entries = truth.get_ltk_level_data((36, 'attack-ship'))
        self.assertEqual(len(attack_ship_entries), 14)
        dltk_count = sum(v.mode == 'DLTK'
                         for v in attack_ship_entries.values())
        ltk_count = sum(v.mode == 'LTK' for v in attack_ship_entries.values())
        self.assertEqual(dltk_count, 4)
        self.assertEqual(ltk_count, 10)

        bb_as_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/perfect-dark/ltk/3766',
            time_id=3766,
            player='Big Bossman',
            mode='LTK',
            stage='attack-ship',
            time=233,
            status=0)
        ff_as_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/perfect-dark/ltk/3649',
            time_id=3649,
            player='Flickerform',
            mode='DLTK',
            stage='attack-ship',
            time=990,
            status=0)

        self.assertEqual(attack_ship_entries[bb_as_entry.url], bb_as_entry)
        self.assertEqual(attack_ship_entries[ff_as_entry.url], ff_as_entry)

        silo_entries = truth.get_ltk_level_data((6, 'silo'))
        self.assertEqual(len(silo_entries), 23)
        dltk_count = sum(v.mode == 'DLTK' for v in silo_entries.values())
        ltk_count = sum(v.mode == 'LTK' for v in silo_entries.values())
        self.assertEqual(dltk_count, 2)
        self.assertEqual(ltk_count, 21)

        ab_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/goldeneye/ltk/74',
            time_id=74,
            player='Adam Bozon',
            mode='LTK',
            stage='silo',
            time=133,
            status=0)
        bb_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/goldeneye/ltk/3664',
            time_id=3664,
            player='Bryan Bosshardt',
            mode='DLTK',
            stage='silo',
            time=496,
            status=0)

        self.assertEqual(silo_entries[ab_entry.url], ab_entry)
        self.assertEqual(silo_entries[bb_entry.url], bb_entry)
Пример #3
0
    def testTimeEntry(self):

        some_time = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Oscar+Pleininger/time/115050',
            time_id=115050,
            player='Oscar Pleininger',
            mode='SA',
            stage='frigate',
            time=63,
            status=0)
        expected_path = (
            'Oscar_Pleininger/ge.frigate.SA.0063.Oscar_Pleininger')

        self.assertEqual(expected_path, some_time.vid_path())
Пример #4
0
    def testLoadEntries(self):
        truth = truthsaver.TruthSaver(os.path.join(TEST_DIR, 'test.json'))

        entry1 = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Oscar+Pleininger/time/115050',
            time_id=115050,
            player='Oscar Pleininger',
            mode='SA',
            stage='frigate',
            time=63,
            status=0)
        entry2 = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/goldeneye/ltk/300',
            time_id=300,
            player='Lloyd Palmer',
            mode='DLTK',
            stage='train',
            time=3937,
            status=0)

        saved_entries = {entry1.url: entry1, entry2.url: entry2}

        self.assertEqual(truth.saved_entries, saved_entries)
Пример #5
0
    def testSaveEntries(self):
        entry1 = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Oscar+Pleininger/time/115050',
            time_id=115050,
            player='Oscar Pleininger',
            mode='SA',
            stage='frigate',
            time=63,
            status=0)
        entry2 = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/goldeneye/ltk/300',
            time_id=300,
            player='Lloyd Palmer',
            mode='DLTK',
            stage='train',
            time=3937,
            status=0)

        saved_entries = {entry1.url: entry1, entry2.url: entry2}
        pickle_path = os.path.join(self.temp_dir, 'tmp.pkl')
        truthsaver.TruthSaver.save_entries(pickle_path, saved_entries)
        self.assertTrue(os.path.exists(pickle_path))
        with open(pickle_path, 'rb') as binfile:
            self.assertEqual(saved_entries, pickle.load(binfile))
Пример #6
0
    def testYtLink(self, mock_request):

        bb_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Big+Bossman/time/10',
            time_id=10,
            player='Bryan Bosshardt',
            mode='Agent',
            stage='Dam',
            time=53,
            status=0)
        bb_yt_link = truthsaver.TruthSaver.get_yt_link(bb_entry)
        self.assertEqual(bb_yt_link,
                         'https://www.youtube.com/watch?v=WA4jUsCRrfs')

        tara_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Tara/time/113844',
            time_id=11384,
            player='Tara Kate',
            mode='Agent',
            stage='dam',
            time=53,
            status=0)

        try:
            truthsaver.TruthSaver.get_yt_link(tara_entry)
        except ValueError as e:
            self.assertIn('https://www.twitch.tv/videos/v/', str(e))
        else:
            self.fail('Exepected exception from tara_entry.')

        swompz_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Swompz/time/78905',
            time_id=78905,
            player='Brian Dupont',
            mode='Agent',
            stage='archives',
            time=16,
            status=0)

        sw_yt_link = truthsaver.TruthSaver.get_yt_link(swompz_entry)
        self.assertEqual(sw_yt_link, 'https://youtu.be/QtvECUNjszU')

        wouter_entry = truthsaver.TimeEntry(
            url='https://rankings.the-elite.net/~Wouter+Jansen/time/54778',
            time_id=54778,
            player='Wouter Jansen',
            mode='00A',
            stage='aztec',
            time=120,
            status=0)

        try:
            truthsaver.TruthSaver.get_yt_link(wouter_entry)
        except ValueError as e:
            self.assertIn('www.oldvideo.net/time/10', str(e))
        else:
            self.fail('Expected exception from wouter_entry.')

        bad_entry = truthsaver.TimeEntry(url='https://bad.com',
                                         time_id=10,
                                         player='irrel',
                                         mode='SPAG',
                                         stage='Nesquik',
                                         time=10,
                                         status=0)
        try:
            truthsaver.TruthSaver.get_yt_link(bad_entry)
        except ValueError as e:
            self.assertIn('Bad status', str(e))
        else:
            self.fail('Link should fail.')

        def testSaveDownloadedPaths(self):
            test_out = os.path.join(self.tmp_dir, 'foo')
            truth = truthsaver.TruthSaver(new_times_path=test_out)
            test_vid_paths = ['SomeSavedPath.mp4', 'SomeOtherSavedPath.mp4']
            truth.new_times_list.extend(test_vid_paths)
            truth.save_downloaded_paths()
            self.assertEqual(open(test_out).read(), '\n'.join(test_vid_paths))