📚 A Crunchyroll (beta) API implementation in Go
slice bounds out of range
error when archiving with -l all
(#18).-l
specified languages (if -l en-US -l de-DE
, the first subtitle language will be en-US
, the second de-DE
) by default. Set the environment variable SORT_SUBTITLES=1
before executing to enable it.Makefile
now contains a clean target.Makefile
install
target creates a symbolic link to the second binary now instead of copying.Version 2.0.0 is here! ?
The primary focus of this new version is the rewrite of the cli (command line interface). It was a huge mess since the first release but it worked so I didn't see any reason why rewrite it / clean it up. In terms of implementing new features and fix bugs faster, I finally decided to rewrite it and this was a very good choice. New features were added and the code is much more readable now.
archive
:
.mkv
file, with all available (soft) subtitles.--language
flag.--compress
flag to an file name..tar.gz
(gzip), .tar
(tar) and .zip
(zip) which can be set with the file ending of the --compress
flag.--merge
flag sets the behavior for different audios. audio
stores one video and only the audio of all other languages, video
stores all videos of the given languages and their audio, auto
(which is the default) only behaves like video if the length of two videos are different (and only for the two videos), else like audio.--persistent
flag to the login
command to store credentials persistent on the computer.download
command parses every url individually. This means url 2 is parsed when all episodes from url 1 were downloaded, url 3 is parsed when all episodes from url 2 were downloaded and so on. May reduce the traffic to the crunchyroll api when the user decides to stop the download in the middle and, for example, 2 out of 5 urls got parsed but not used.--directory
flag can now contain the same format patterns as --output
.--color
, --only-sub
, --no-hardsub
and --alternative-progress
flag since they have no really use (in my opinion).utils.Structure
struct came shipped since the first version to simplify the working with the api. It was simply too low level for an api like this.utils.Structure
struct is no longer needed and removed.Format.Download(...)
with the new created Download
struct as argument. A general / template can be received via the method NewDownloader(...)
. For all other cases use the Download
interface directly.io.Writer
instead of *os.File
for higher flexibility.Format
has now a InitVideo()
functions which initializes Format.Video.Chunklist
which is nil by default. This method will probably not often be used but is helpful nevertheless.Fix for #8
season_number
and episode_number
series_name
format optionRemoved unnecessary print in utils.EpisodeStructure.GetEpisodeByURL(...)
Format.DownloadGoroutines(...)
function (use for now deprecated Format.Download(...)
function)--only-sub
flag to download only subtitlesFix for #3
Initial release