Mercurial > minori
comparison src/core/anime_db.cc @ 317:b1f4d1867ab1
services: VERY initial Kitsu support
it only supports user authentication for now, but it's definitely
a start.
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 12 Jun 2024 04:07:10 -0400 |
| parents | 53e3c015a973 |
| children | d928ec7b6a0d |
comparison
equal
deleted
inserted
replaced
| 316:180714442770 | 317:b1f4d1867ab1 |
|---|---|
| 10 #include <QDate> | 10 #include <QDate> |
| 11 | 11 |
| 12 #include <fstream> | 12 #include <fstream> |
| 13 | 13 |
| 14 #include <exception> | 14 #include <exception> |
| 15 #include <cstdlib> | |
| 15 #include <iostream> | 16 #include <iostream> |
| 17 #include <random> | |
| 16 | 18 |
| 17 namespace Anime { | 19 namespace Anime { |
| 18 | 20 |
| 19 size_t Database::GetTotalAnimeAmount() { | 21 size_t Database::GetTotalAnimeAmount() { |
| 20 size_t total = 0; | 22 size_t total = 0; |
| 298 return false; | 300 return false; |
| 299 | 301 |
| 300 return true; | 302 return true; |
| 301 } | 303 } |
| 302 | 304 |
| 305 int Database::GetUnusedId() { | |
| 306 /* TODO: move these out of here */ | |
| 307 | |
| 308 std::random_device rd; | |
| 309 std::mt19937 gen(rd()); | |
| 310 std::uniform_int_distribution<int> distrib(1, INT_MAX); | |
| 311 int res; | |
| 312 | |
| 313 do { | |
| 314 res = distrib(gen); | |
| 315 } while (items.count(res)); | |
| 316 | |
| 317 return res; | |
| 318 } | |
| 319 | |
| 320 int Database::LookupServiceId(Service service, const std::string& id_to_find) { | |
| 321 for (const auto& [id, anime] : items) { | |
| 322 std::optional<std::string> service_id = anime.GetServiceId(service); | |
| 323 if (!service_id) | |
| 324 continue; | |
| 325 | |
| 326 if (service_id == id_to_find) | |
| 327 return id; | |
| 328 } | |
| 329 | |
| 330 return 0; | |
| 331 } | |
| 332 | |
| 333 int Database::LookupServiceIdOrUnused(Service service, const std::string& id_to_find) { | |
| 334 int id = LookupServiceId(service, id_to_find); | |
| 335 if (id) | |
| 336 return id; | |
| 337 | |
| 338 return GetUnusedId(); | |
| 339 } | |
| 340 | |
| 303 Database db; | 341 Database db; |
| 304 | 342 |
| 305 } // namespace Anime | 343 } // namespace Anime |
