diff src/library/library.cc @ 328:71396ecb6f7e

library: convert to class + database it also stores std::filesystem::paths now...
author Paper <paper@paper.us.eu.org>
date Fri, 14 Jun 2024 00:37:45 -0400
parents d928ec7b6a0d
children a0aa8c8c4307
line wrap: on
line diff
--- a/src/library/library.cc	Thu Jun 13 01:49:18 2024 -0400
+++ b/src/library/library.cc	Fri Jun 14 00:37:45 2024 -0400
@@ -13,11 +13,8 @@
 
 namespace Library {
 
-// int = anime id, map = episode, paths
-std::unordered_map<int, std::unordered_map<int, std::string>> library;
-
-void SearchLibraryFolders() {
-	library.clear();
+void Database::Refresh() {
+	items.clear();
 
 	for (const auto& folder : session.config.library.paths) {
 		for (const auto& entry : std::filesystem::recursive_directory_iterator(folder)) {
@@ -38,12 +35,14 @@
 			if (id <= 0)
 				continue;
 
-			const int episode = Strings::ToInt(Strings::ToUtf8String(elements.get(anitomy::kElementEpisodeNumber)));
+			const int episode = Strings::ToInt<int>(Strings::ToUtf8String(elements.get(anitomy::kElementEpisodeNumber)));
 
 			// we have an ID now!
-			library[id][episode] = path.u8string();
+			items[id][episode] = path;
 		}
 	}
 }
 
+Database db;
+
 } // namespace Library