- Added `meta` section to `nix/package.nix` to define the main program and provide a description for the lidarr-mb-gap application, enhancing clarity and usability for users and developers.
- Updated `flake.nix` to import the new Nix package definition from `nix/package.nix`, streamlining the build process for the lidarr-mb-gap application.
- Enhanced the README.md to include new features such as NixOS module support for automated deployment, detailed deployment instructions, and configuration options for SSH and output directories.
- Added sections for troubleshooting output file issues and clarified the structure of the project, including new files for deployment and web serving.
- Introduced a new NixOS module for the lidarr-mb-gap service, allowing users to configure and manage the report generation process through NixOS.
- Added a comprehensive deployment guide in `nixos/DEPLOYMENT.md`, detailing setup instructions, configuration options, and troubleshooting tips for deploying the service on NixOS and serving reports via Caddy.
- Updated `flake.nix` to export the new NixOS module.
- Enhanced the report generation scripts to support customizable output paths for generated reports.
- Created a comprehensive README.md file detailing the purpose, features, installation instructions, usage, and project structure for the lidarr-mb-gap tool.
- Included sections on requirements, configuration, and troubleshooting to assist users in setting up and using the application effectively.
- Provided examples of output and logging for better understanding of the tool's functionality.
- Updated `flake.nix` to define a new Python application `lidarr-mb-gap` for identifying missing albums on MusicBrainz.
- Improved development shell environment by including a Python environment with necessary packages.
- Added new source files: `__init__.py`, `html_report.py`, and `main.py` to implement core functionality and HTML report generation.
- Introduced `pyproject.toml` for better package management and project metadata.
- Enhanced user instructions in the shell hook for running the application.
- Modified the URL structure in the generate_harmony_link method to include 'release' in the path for better clarity and accuracy in generating submission links from Deezer URLs.
- Introduced a new `html_report.py` file to generate an HTML report for albums to add and update.
- Implemented a `generate_html_report` function that creates a styled HTML document with clickable submission links.
- Integrated the new report generation function into `main.py` to streamline the process of reporting missing albums.
- Enhanced user experience with filtering options for album types and artists in the generated report.
- Added `black` to the development environment in flake.nix for code formatting.
- Updated shell hook to include instructions for using `black`.
- Refactored `main.py` to improve code organization and readability, including reordering imports and simplifying list comprehensions.
- Enhanced album processing functions for better clarity and efficiency.
- Improved error handling and output formatting for better user experience.
- Updated the return type of find_missing_albums to return a tuple of lists: albums_to_add and albums_to_update.
- Improved response handling and debugging output for API responses.
- Enhanced album categorization based on status indicators (red for missing, orange for needing updates).
- Updated main function to process and display albums to add and update separately.
- Modified HTML report generation to reflect changes in album categorization.
- Created .gitignore to exclude unnecessary files and directories.
- Added flake.nix for Nix package management and development environment setup.
- Introduced flake.lock to lock dependencies for reproducibility.
- Implemented main.py script to identify missing albums on MusicBrainz from Deezer releases for artists monitored in Lidarr, including functionality for generating submission links.