Code Monkey home page Code Monkey logo

crunchyreroll's Introduction

Crunchyroll plugin for Kodi

CrunchyREroll is a KODI (XBMC) plugin for Crunchyroll.com.

WARNING: You MUST be a PREMIUM member to use this plugin! This plugin does not intend to let you do illegal stuff


This plugin support DRM streams Even if you didn't installed Widevice CDM, the plugin will propose you to install it before playing an episode


This page and addon are not affiliated with Crunchyroll.

Kodi® (formerly known as XBMC™) is a registered trademark of the XBMC Foundation. This page and addon are not affiliated with Kodi, Team Kodi, or the XBMC Foundation.


Installation and update

A repository have been created to help you install the plugin and keep it up to date.
To install the repo, please download the file https://github.com/xtero/crunchyreroll-repo/raw/main/repository.crunchyreroll-1.0.0.zip
On Kodi, use the feature "Install from zip" to install the repo.
Once it's done, you can update your plugin from the repo.

Contributors

Maintainer: Xtero

Contributors:

  • Smirgo

Git repo: https://github.com/xtero/CrunchyREroll

Features

What this plugin currently can do:

  • Supports all Crunchyroll regions
  • Login with your account
  • Search for animes
  • Browse all popular anime
  • Browse all simulcasts
  • Browse all new anime
  • Browse all anime alphabetically
  • Browse all genres
  • Browse all seasons
  • Browse Crunchylists
  • View history
  • View all seasons/arcs of an anime
  • View all episodes of an season/arc
  • Display various informations
  • Watch videos with premium subscription
  • Synchronizes playback stats with Crunchyroll

How to run tests

If you are using a Linux distro, you probably can run the bootstrap.sh script.
It will ensure that you have all required dependencies in the freshly created Python VirtualEnv.
This virtualenv is stored in the folder .venv.

Before running tests, you need to defined enviroment variable CRUNCHYROLL_EMAIL and CRUNCHYROLL_PASSWORD. On my side, I used to do it through my .bash_aliases. But you can do it the way you like it :)

If you don't like Makefile, you can just run pytest. Otherwise, you can use make test that will also run pylint and flake8 on the code to ensure a minimal quality level.

crunchyreroll's People

Contributors

xtero avatar mrkrabat avatar thefantasticloki avatar robofunk avatar apachecodisanti avatar jasonfrancis avatar nux007 avatar vlfr1997 avatar

Stargazers

Alya avatar  avatar Manuel Merkl avatar Andrew Burns avatar  avatar  avatar  avatar  avatar Kyle Anthony Williams avatar  avatar  avatar Benni S avatar Victor Martin Ortiz Palacio avatar  avatar  avatar Jarred D. avatar Wail avatar  avatar

Watchers

 avatar dle avatar  avatar Wail avatar  avatar

Forkers

nixxo

crunchyreroll's Issues

Audio options

Hey!
Firstly, thanks for bringing and working on the plugin.

I wonder if it would be possible to have Audio language select option.
I’ve noticed that in most anime the plugin plays Japanese audio but in some cases will use English dub (or another). I’m not a big fan of the dubs tbh and I would like to change the audio language but I can’t.

example: Shangri-la frontier it has Japanese audio on the website but only English one is being played by the plugin and I can’t change it.

Error could not convert string to float: 'SP13'

Hi upon attempting to access watchlist folder, I encountered the following error:

ValueError: could not convert string to float: 'SP13'

This issue arises as an instance in the anime series One Piece.

Kodi log:

2024-04-14 10:47:38.802 T:51090   error <general>: [Crunchyroll.support] could not convert string to float: 'SP13'
                                                   Traceback (most recent call last):
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/support.py", line 306, in run_callback
                                                       redirect = parent_ins(route, arg_params, self.callback_params)
                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/route.py", line 195, in __call__
                                                       results = super(Route, self).__call__(route, args, kwargs)
                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/script.py", line 169, in __call__
                                                       return route.function(self, *args, **kwargs)
                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/plugin.video.crunchyreroll/resources/lib/main.py", line 64, in watchlist
                                                       episodes, next_link = cr.get_watchlist(start)
                                                                             ^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/plugin.video.crunchyreroll/resources/lib/client.py", line 99, in get_watchlist
                                                       res.append(Episode(item, playhead))
                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/plugin.video.crunchyreroll/resources/lib/model.py", line 31, in __init__
                                                       self.number = int(float(self.number_str))
                                                                         ^^^^^^^^^^^^^^^^^^^^^^
                                                   ValueError: could not convert string to float: 'SP13'
  • Version v1.0.3

invalid literal for int() with base 10:"

Hi! So, after a couple of days of not using Kodi, I found some time to watch some anime today, and when I turned Kodi on I noticed an error 401 on the beta-api URL. I've tried resetting the login data etc but no joy. So I've decided to uninstall the plugin (together with settings, etc.) and install it again (1.0.2 version).
I've filled out all the data, etc., and when I want to enter "Watchlist" or any other menu element I'm getting the error invalid literal for int() with base 10:" and I can't watch anything. I've double and triple-checked login data, etc.

I've checked via the mobile app and crunchy works fine for me also via the Android TV app.

Update: I've just noticed that there is a 1.0.3 version. So I've installed it but still the same error then I've reinstalled it and still the same error.
Update 2: I've checked version 1.0.1 it just throws auth error (which is understandable) but not the other error.

Watched episode is not marked as watched

After watching an episode (and skipping intro and outro) the episode does not seem marked as watched on crunchyroll. I do not see it as it my history or anything and because of it watchlist did not update. Marking it watched via kodi does nothing.

I was on main branch version 1.0.1

infolabel 'episode', is not of type '<class 'int'>'

Hi. Upon attempting to access an anime folder, I encountered the following error: "value of '7.5' for infolabel 'episode', is not of type '<class 'int'>". This issue arises as an instance in the anime series 'Solo Leveling' and 'Kuroko no Basuke'.

Kodi log:

2024-03-23 20:39:07.677 T:730348   error <general>: [Crunchyroll.support] value of '7.5' for infolabel 'episode', is not of type '<class 'int'>'
                                                   Traceback (most recent call last):
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/listing.py", line 258, in __setitem__
                                                       value = type_converter(value)
                                                               ^^^^^^^^^^^^^^^^^^^^^
                                                   ValueError: invalid literal for int() with base 10: '7.5'
                                                   
                                                   During handling of the above exception, another exception occurred:
                                                   
                                                   Traceback (most recent call last):
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/support.py", line 306, in run_callback
                                                       redirect = parent_ins(route, arg_params, self.callback_params)
                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/route.py", line 196, in __call__
                                                       session_data = self._process_results(results)
                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/route.py", line 210, in _process_results
                                                       listitems = validate_listitems(results)
                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/route.py", line 39, in validate_listitems
                                                       raw_listitems = list(raw_listitems)
                                                                       ^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/plugin.video.crunchyreroll/resources/lib/main.py", line 121, in show_season
                                                       item = Listitem.from_dict(play_episode, **infos)
                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/listing.py", line 762, in from_dict
                                                       item.info.update(info)
                                                     File "<frozen _collections_abc>", line 949, in update
                                                     File "/home/victor/.kodi/addons/script.module.codequick/lib/codequick/listing.py", line 261, in __setitem__
                                                       raise TypeError(msg % (value, key, type_converter))
                                                   TypeError: value of '7.5' for infolabel 'episode', is not of type '<class 'int'>'

Version: latest from develop branch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.