Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: export library to a file #44

Open
Freeedim opened this issue Jan 13, 2024 · 9 comments
Open

Feature request: export library to a file #44

Freeedim opened this issue Jan 13, 2024 · 9 comments
Labels
enhancement New feature or request

Comments

@Freeedim
Copy link

Hi there!

Great app, thank you!

I would love to be able to export the library, in a CSV file or something alike.

Use cases :

  • changing phone
  • mere backup, useful if phone gets broken, lost or stolen
  • building a wish list
  • ...

Personally, I hated Shazam the day I changed my phone and wanted to keep the 200+ songs I had shazamed (I don't want to have an account). Fortunately, I had rooted the phone and could eventually find the database and copy the file. Now I don't want to root my new phone anymore for security reasons, and I have just discover Audible which is as good as Shazam (except for musics from TV shows or films), but would still love to be able to retrieve my library at will

Thanks for your consideration

@aleksey-saenko aleksey-saenko added the enhancement New feature or request label Jan 15, 2024
@ihatemakinganaccount
Copy link

+1

@alexxtasi
Copy link

Totally agree !!
Now that I am preparing to move to a new phone, I miss this feature.
It would be very convenient.

@pdimu
Copy link

pdimu commented Aug 22, 2024

@aleksey-saenko can you bring your attention to this? It would be really appreciated if it goes real

@aleksey-saenko
Copy link
Owner

I understand the importance and convenience of this feature.
But I considered this feature in a broader context: export + import (backup). I've tried to implement a backup feature before, and there is even a working version. Although it's easy to implement this functionality for one version at a moment, maintaining it between versions is challenging. I periodically change the data format as the program evolves (something gets added/dropped/converted), and in addition to database migrations, I now have to consider this for backups as well. This is a high cost. But I will try to find a more elegant solution when I have some free time.
Exporting the database in its current form to a file is not difficult. However, a comprehensive solution in the form of (auto)backup would probably be more desirable.

@woiwoiwoiwoi
Copy link

Maybe you could add your current solution as alpha/beta with a notice that it only works for the current version? The name of the backup file could include the app version to make life easier for users.

I think if it's clearly marked as alpha/beta, people will appreciate it for what it is. Me personally, I would be super grateful for this.

@aleksey-saenko
Copy link
Owner

aleksey-saenko commented Sep 28, 2024

Added as an experimental feature in v1.6.0.
Known issues:

  • Saved audio recordings (scheduled recognitions) are restored with errors when transferring data between users with different IDs. This is relevant for those who transfer data between different users (Android multi-user mode) or between regular user and private space on Android 15.
  • Data is exported without any encryption. The most critical concern is potentially exposing API keys (if they are valuable to you); in this case, it's better to store a backup in a location that is not publicly accessible or export only the database. I may add encryption in the future.

Otherwise, it seems to work.

@Freeedim
Copy link
Author

Freeedim commented Jan 6, 2025

Thanks so much for the consideration and the effort!

However, I now realise that my request was not specific enough: what I was imagining was an export to a human-readable file, like CSV or just some formatted text. One of my goals was to be able to manually use the file, for example to share it with a friend (possibly after a small transformation with awk or other short text processing), make a wish list, digest the list with a desktop application, a third-party API or anything like that etc.

I guess the current export enables saving the library and restoring it on another Audible instance, but that's pretty much the only use case, right?

Exporting to a simple CSV like for example "ID, artist, title, album, year, date_of_recording" would be more usable for me. And I think it would solve the issues you mentioned: changing database format (as the export wouldn't rely on the internal database structure), saved audio recordings restored with errors (as they wouldn't be included in the export), and API key exposing.

Does this make sense?

@aleksey-saenko
Copy link
Owner

@Freeedim
I was thinking about exporting tracks in JSON or CSV format, but it seemed to me that this would be a fairly rare usage scenario.

By the way, a backup file is a simple zip archive. Inside, you can find an entry of SQLite database. This database can be opened by many third-party programs, for example DB Browser for SQLite, where you can easily export the track table to JSON or CSV format.

However, if it turns out that more users want to see the export to a human-readable* file directly from the app, then this functionality could be added, I guess.

@woiwoiwoiwoi
Copy link

Just chiming in here that I also find a CSV export feature a good idea. I've seen many projects come and go with my data and work being lost because of that. Having a backup in an open and widely supported format solves this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants