class TestIntegration(unittest.TestCase):
    def setUp(self):
        self.api = MetaApi()

    @skip_if_no_creds
    def test_login(self):
        self.api.login(username=CRUNCHYROLL_USERNAME, password=CRUNCHYROLL_PASSWORD)

    def test_login_fail(self):
        with self.assertRaises(ApiLoginFailure):
            self.api.login(username='******', password='******')

    def test_anime_search(self):
        self._series = self.api.search_anime_series('Space Brothers')[0]
        self.assertEqual('Space Brothers', self._series.name)

    def test_list_media(self):
        self._series = self.api.search_anime_series('Space Brothers')[0]
        self._media = self.api.list_media(self._series)
        self.assertEqual(99, len([ep for ep in self._media if not ep.clip]))
        self.assertEqual('Life Changes, Promises Don\'t', self._media[0].name)

    @skip_if_no_creds
    def test_subtitle_decryption(self):
        self.api.login(username=CRUNCHYROLL_USERNAME, password=CRUNCHYROLL_PASSWORD)
        series = self.api.search_anime_series('Space Brothers')[0]
        media = self.api.list_media(series)
        ep = [e for e in media if e.episode_number == '40'][0]

        stream = self.api.get_media_stream(ep, 0, 0)
        subs = stream.default_subtitles.decrypt().get_ass_formatted()
        self.assertIn('Hibito, let me see your back', subs)
Esempio n. 2
0
class TestIntegration(unittest.TestCase):
    def setUp(self):
        self.api = MetaApi()

    @skip_if_no_creds
    def test_login(self):
        self.api.login(username=CRUNCHYROLL_USERNAME, password=CRUNCHYROLL_PASSWORD)

    def test_login_fail(self):
        with self.assertRaises(ApiLoginFailure):
            self.api.login(username='******', password='******')

    def test_anime_search(self):
        self._series = self.api.search_anime_series('Space Brothers')[0]
        self.assertEqual('Space Brothers', self._series.name)

    def test_list_media(self):
        self._series = self.api.search_anime_series('Space Brothers')[0]
        self._media = self.api.list_media(self._series)
        self.assertEqual(99, len([ep for ep in self._media if not ep.clip]))
        self.assertEqual('Life Changes, Promises Don\'t', self._media[0].name)
Esempio n. 3
0
    if crunchyrollLoginAttempt == True:
        userQueue = crunchyrollMetaAPI.list_queue()
        print("\nQueue Items:")
        userQueueItemNumber = 1
        for userQueueItem in userQueue:
            print("{0}: {1}".format(userQueueItemNumber, userQueueItem.name))
            userQueueItemNumber += 1
    else:
        print(
            "Queue feature only works when logged in. Use \"--auth\" to login")
        quit()
else:
    #Search for a show
    while showSearchSuccess == False:
        userSearchInput = input("Search for a show: ")
        userSearchOutput = crunchyrollMetaAPI.search_anime_series(
            userSearchInput)
        if len(userSearchOutput) == 0:
            print(
                "There was no shows with your search.\n\nTry again to search")
        else:
            showSearchSuccess = True

    while showResultsSelectionCorrect == False:
        print("\nSearch Results:")
        for names in range(len(userSearchOutput)):
            print("[{0}]: ".format(names + 1) + userSearchOutput[names].name
                  )  #Prints out the show with a show number.
        showResultsSelectionNumber = input(
            "Please enter the show number of the show you would like to watch: "
        )
        try: