The Anime & Manga Folder Icon Customizer is a versatile tool designed to enhance the organization and visual appeal of your digital library by automatically customizing folder icons based on the contents. This project utilizes cutting-edge technology to scan directories, identify folders corresponding to anime or manga titles, download relevant cover art, and set the folder's icon accordingly.
To run this project, you will need to add the following environment variables to your .env file or Add them directly to the command line
PORT
Specifies the port number on which the application server will listen for incoming oauth.
Mal_CLIENT_ID
The client ID issued by MyAnimeList for authenticating requests to the MAL API. This identifier uniquely identifies the application making API requests.
Mal_CLIENT_SECRET
Description: The client secret provided by MyAnimeList for secure authentication and authorization of API requests. This secret must be kept confidential and should never be exposed to unauthorized parties.
Clone the project
git clone https://github.com/kaleabteweld/anime-folders
Go to the project directory
cd anime-folders
Install dependencies
npm install
Start
npm run anime-folder anime -d c:\animes
Install anime-folders with npm
npm install anime-folder -g
for help
npx anime-folder help
npx anime-folder help
for help on setting anime folder
$:npx anime-folder anime -h
Usage: anime-folder anime [options]
create anime folder icons
Options:
-d, --homeDir <homeDir> dir were your anime is located
-al, --applyToMyAnimeList <status> update your anime list "watching" | "completed" | "on_hold" | "dropped" | "plan_to_watch"
-rl, --removeMyAnimeList <removeMyAnimeList> remove anime from your anime list (default: false)
-p, --port <port> port to run server on (default: "3000")
-id, --Mal_CLIENT_ID <id> Mal CLIENT ID
-s, --Mal_CLIENT_SECRET <secret> Mal CLIENT SECRET KEY
-ow, --overwrite <overwrite> overwrite desktop.ini (default: true)
-ep, --endpoint <endpoint> MAL Redirect direct endpoint (default: "MyanimeList")
-rm, --remove removing customize icons
-h, --help display help for command
Note Requires you to log in to your my anime list account and have an API app at https://myanimelist.net/apiconfig
npx anime-folder anime -d c:\animes -id <your Mal_CLIENT_ID> -secret <your Mal_CLIENT_SECRET> -ep <your Redirect direct endpoint>
npx anime-folder anime -d c:\animes -id 8e19f1bdd74b9844b0430147618e5175 -secret 18b3a196766b93821a1d0bb2de2633178015eea80096e858fb95f71b0f999286 -ep MyanimeList
Assumes there are sub directories, which each contain some anime, And each supporter should have a name corresponding to that anime
please use the API keys Responsible
remove all customize icons
npx anime-folder anime -d c:\animes -rm
add to your MyAnimeList with "watching" | "completed" | "on_hold" | "dropped" | "plan_to_watch"
npx anime-folder anime -d c:\animes --applyToMyAnimeList plan_to_watch
remove the added Status from your MyAnimeList
npx anime-folder anime -d c:\animes --removeMyAnimeList False
same thing as the anime, for now Dose Not Support manga code naming
- anime icon folder
- manga icon folder
- add to MyAnimeList
- remove from MyAnimeList
Here are some related projects
For support, email kaleabteweld3@gmail.com or Open an issue.
Understanding OAuth: Through configuring authentication with the MyAnimeList API, I gained valuable insights into OAuth (Open Authorization) and its role in secure authorization mechanisms for API access. Learning to handle authentication flows, obtain access tokens, and manage client credentials provided a foundational understanding of OAuth protocols.
MyAnimeList API Functionality: Working with the MyAnimeList API exposed me to a wide range of functionalities available for accessing anime and manga data. From retrieving detailed information about titles to managing user lists and receiving personalized recommendations, I gained hands-on experience with leveraging API endpoints to enhance user experiences in anime and manga applications.
Command-Line Program Development: Developing a command-line program for managing anime and manga folders involved understanding user requirements, designing intuitive interfaces, and implementing robust functionality. Through iterative development and user feedback, I honed my skills in building efficient and user-friendly command-line tools.
Image Conversion and Rescaling: Integrating image conversion and rescaling capabilities into the application taught me the importance of handling image data efficiently. From downloading cover art to converting images to different formats and resizing them to meet specific requirements, I acquired practical knowledge of image processing techniques and libraries.
Overall, the project provided valuable opportunities for hands-on learning across various domains, including authentication protocols, API integration, command-line application development, and image manipulation. By applying these lessons learned, I am better equipped to tackle future projects and continue growing as a software developer.