Skip to content

This repository contains the source code for the YOTO JSON Extractor, a Python application designed to extract audio tracks and associated metadata from Yoto URLs.

License

Notifications You must be signed in to change notification settings

afsenovilla/YOTO-json-extractor

Repository files navigation

๐ŸŽต๐ŸŽถ Yoto JSON Extractor ๐ŸŽถ๐ŸŽต

Code Size License: MIT Python 3.8+

Yoto JSON Extractor is a Python-based tool that helps you download and process JSON data from Yoto URLs. It extracts and compress audio files and images, and embeds metadata into audio files for easier management of Yoto card content.


โœจ Features

  • Extracts JSON: Downloads and processes information from multiple Yoto URLs at once.
  • Audio and Image Downloading: Downloads audio files (AAC/MP3) and their associated images.
  • Metadata Embedding: Automatically embeds metadata such as title, track, album, artist and genre into audio files.
  • Automated Management: Organizes downloaded cards into respective compressed folders with audio and images.
  • Automatic Cleanup: Deletes the folders and JSON files after the extraction process.

๐Ÿ’พ Compiled Version

Executable File Available!

A compiled version of the YOTO JSON Extractor is available as an executable file (.exe).

Benefits of the Executable Version:

  • No Installation Required: Users can run the application without needing to install Python or any dependencies.
  • User-Friendly: Simply double-click the executable file to start using the tool, making it accessible for all users.

To get started with the executable version, just download the .exe file from the Releases section and double-click to run!


โš™๏ธ Installation

1. Clone the Repository

Clone this repository to your local machine using the following command:

git clone https://github.com/afsenovilla/YOTO-json-extractor.git
cd YOTO-json-extractor

2. Install Dependencies

Make sure you have Python installed. Then install the required Python packages by running:

pip install -r requirements.txt

๐Ÿ“ฆ Dependencies

This project requires the following Python libraries:

  • requests: For handling HTTP requests to download JSON and media.
  • beautifulsoup4: To parse HTML and extract relevant data.
  • mutagen: For embedding metadata into audio files (supports AAC and MP3).
  • customtkinter: For creating a modern graphical user interface (GUI).
  • py7zr: For handling compressed files in .7z format.

๐Ÿ› ๏ธ Usage

  1. Run the script using Python:

    python YOTO.py
  2. Input one or multiple YOTO URLs into the text area.

  3. Click the "Extract files" button to start the download and processing.

  4. The processed files and folders will be saved and the compressed in the directory of your choice.


๐Ÿ“‹ Fequently Asked Questions

1. How do I get the URL from a YOTO card?

To extract the URL from a physical YOTO card, you'll need a smartphone and the NXP TagInfo app, available for both iOS and Android.

Steps:

  1. Download and install the NXP TagInfo app from the App Store or Google Play Store.
  2. Open the app and touch the Scan & Launch button.
  3. Tap the YOTO card against the NFC reader on your smartphone.
  4. The app will read the NFC tag and display the URL associated with the YOTO card.
  5. Copy the URL and paste it in the YOTO JSON Extractor.

2. What should I do if the download fails?

Ensure that the provided YOTO URL is correct. If the issue persists, check your internet connection.

3. Can I process multiple URLs at once?

Yes! You can input multiple YOTO URLs separated by new lines in the YOTO JSON Extractor and process them in batches.

4. What file formats are supported?

The tool currently supports downloading audio files in AAC or MP3 format, depending on whatโ€™s available in the YOTO JSON data.


๐Ÿ“ To-Do List

  • Add progress bar to the GUI for download status
  • Add user settings for customizing download options
  • Improve metadata customization options
  • Implement support for more audio formats
  • Optimize error handling for specific network issues
  • Test cross-platform compatibility
  • Make the app available for macOS users
  • Make the app available for Linux users
  • Create a logo

License ๐Ÿ“

This project is licensed under the MIT License - see the LICENSE file for details.

About

This repository contains the source code for the YOTO JSON Extractor, a Python application designed to extract audio tracks and associated metadata from Yoto URLs.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages