Downloading your list from MAL is pretty tiresome task, you need to go to the
specific url,
manually pick each type of list, then download it and you are left with a 2 gzip files with very long filenames,
that's especially painsome when you want to do this daily or whenever you update it.
Fortunately there is a way to automate it, the following python script let's you conveniently download your anime
and manga lists,
rename them to something readable by human, put them into single .tar archive and move them to specified directory.
apt install python3 python3-pip curl
pip install browser_cookie3 BeautifulSoup4
curl -Lo mal-archive.py wiktor.in/anime/mal-archive.txt -Lo mal-show.py wiktor.in/anime/mal-show.txt
chmod +x mal-archive.py mal-show.py
Now we can use the script:
There's nothing really much to configure here, however, you might want to change the directory where your lists save, date format and a web browser if you're using something other than firefox, this can be easily done by editing variables like animelist_path, current_date and cookies at the top of the script. Here you can see what browser are supported with the module used there.
Now, let's say that we want to view our list, the problem is, .xml format was made to be read by a computer,
so it would be nice to convert our list to something readable by human, and
python will help us with that too. This
script
parses .xml list files and prints our anime/manga from best to worst rated (You need to use anime or manga as an argument):
If you've changed date format/path in the first script make sure to change that here too!
The advantage of this script is that it prints completed anime/manga to the standard output,
so you can combine it with basic command-line utilities and operators such as:
mal-show.py anime | wc -l # Show how many anime you have completed
mal-show.py anime | grep -i jojo # Find specific entries
mal-show.py anime | less # View in less
mal-show.py anime | grep -E '(8/10|9/10|10/10)' # List entries rated 8/10+
mal-show.py anime > anime.txt # Save your list to a text file
I made an extended version of a mal-show script, this one let's you customize the output more by adding additional arguments. The simple version above of course still works. You can download it here.
You can access help by typing mal-showex -h (or --help):
Usage examples:
mal-showex.py -Acs # Show completed anime along with scores
mal-showex.py -Aoe # Show on-hold anime along with episodes watched
mal-showex.py -Mre # Show currently reading manga along with chapters read
mal-showex.py -Acwodp # Show all anime you have in your list