Read List Exporter

Group Leader
Joined
Feb 1, 2023
Messages
32
In the wake of the recent travesty, I created a quick utility for exporting read lists as either a JSON file or a CSV file (it doesn't download the images).
It's built on top of my MangaDex-Sharp library and simply requests the a user's read list and outputs the results to a file with some other nifty options ontop.

This uses the personal API clients attached to your account to request the data, so if you don't feel comfortable putting your username and password into the app... well, don't use this tool.

To get your account's API client ID and client Secret go here: MangaDex Settings > API Clients (bottom left of the settings page) > + Create (top right)

Then download the utility from the GitHub repo: MangaDex-Sharp Releases (latest) and download either the windows or linux binaries (depending on your OS).
Extract the downloaded zip to your machine, edit the appsettings.json file with the above credentials (or you can use environment variables if you know how to do those)
It should look like this when you're finished:
JSON:
{
  "MangaDex": {
    "ClientId": "client-id-goes-here",
    "ClientSecret": "client-secret-goes-here",
    "Username": "md-account-username-goes-here",
    "Password": "md-account-password-goes-here"
  },
  "MaxRetries": 5
}
Then open up your terminal/command line of choice to the directory you extracted the files and run:
Bash:
md-cli export-read-list
On windows you might need to qualify the executable name with it's extension, so use md-cli.exe instead of just md-cli

And it will start downloading your read list and export it to a JSON file.
Here are some command line switches you can use to customize the output:
  • --file-path (-f) - will change the name of the output file (defaults to read-list.json). You can also change the extension to .csv and it will export as a csv instead. Example: --file-path "my-manga.csv"
  • --include-latest-chapter (-i) - Will include a link to the latest chapter and it's title from MangaDex - This is a relatively slow operation since it needs to request the chapters for each manga individually and it adheres to MD's rate limits.
  • --read-status (-r) - Will filter the returned manga to only those with a certain read status, the valid options are: reading, on_hold, plan_to_read, dropped, reading, completed. It only supports one of them at a time. By default it will fetch everything.
  • --preferred-language (-l) - Will prefer manga titles with this language over others, and will filter the chapters to only ones that are in the given language. Defaults to "en". This is the ISO language codes, so refer to the given docs for more information.
You can also view all of the above information by running md-cli export-read-list --help

All of the code used is open source and available on the GitHub repo, so if you don't trust my builds (build scripts also on the repo) you can build it yourself from scratch.
If there is want, I will also create a desktop app for it, instead of just a CLI tool, so let me know if you want that instead.
 
Contributor
Joined
Mar 10, 2018
Messages
3,740
All of the code used is open source and available on the GitHub repo, so if you don't trust my builds (build scripts also on the repo) you can build it yourself from scratch.
If there is want, I will also create a desktop app for it, instead of just a CLI tool, so let me know if you want that instead.
Working now, thank you.
 

Users who are viewing this thread

Top