Mercurial > minori
annotate include/core/anime_db.h @ 380:861368fd42ff
about: update email address
| author | Paper <paper@tflc.us> |
|---|---|
| date | Thu, 06 Nov 2025 01:12:39 -0500 |
| parents | 5eaafed6c10b |
| children |
| rev | line source |
|---|---|
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
1 #ifndef MINORI_CORE_ANIME_DB_H_ |
|
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
2 #define MINORI_CORE_ANIME_DB_H_ |
| 85 | 3 |
| 10 | 4 #include "core/anime.h" |
| 175 | 5 #include "json/json_fwd.hpp" |
| 379 | 6 #include <QImage> |
| 76 | 7 #include <string> |
| 10 | 8 #include <unordered_map> |
| 9 | |
| 10 namespace Anime { | |
| 11 | |
| 12 class Database { | |
| 258 | 13 public: |
| 14 std::unordered_map<int, Anime> items; | |
|
319
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
15 size_t GetTotalAnimeAmount() const; |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
16 size_t GetTotalEpisodeAmount() const; |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
17 size_t GetTotalWatchedAmount() const; |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
18 size_t GetTotalPlannedAmount() const; |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
19 double GetAverageScore() const; |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
20 double GetScoreDeviation() const; |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
21 size_t GetListsAnimeAmount(ListStatus status) const; |
| 369 | 22 int LookupAnimeTitle(const std::string &title) const; |
|
173
de0a8d2f28b3
WILL NOT COMPILE: sample export ability for anime db
Paper <mrpapersonic@gmail.com>
parents:
85
diff
changeset
|
23 |
| 369 | 24 bool GetDatabaseAsJSON(nlohmann::json &json) const; |
|
319
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
25 bool SaveDatabaseToDisk() const; |
|
174
f88eda79c60a
anime/db: add some more json functionality, still doesn't compile :/
Paper <mrpapersonic@gmail.com>
parents:
173
diff
changeset
|
26 |
| 369 | 27 bool ParseDatabaseJSON(const nlohmann::json &json); |
| 258 | 28 bool LoadDatabaseFromDisk(); |
|
317
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
29 |
|
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
30 /* These are here to make sure that our service IDs don't collide |
|
b1f4d1867ab1
services: VERY initial Kitsu support
Paper <paper@paper.us.eu.org>
parents:
261
diff
changeset
|
31 * and make the whole thing go boom. */ |
|
319
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
32 int GetUnusedId() const; |
| 369 | 33 int LookupServiceId(Service service, const std::string &id_to_find) const; |
| 34 int LookupServiceIdOrUnused(Service service, const std::string &id_to_find) const; | |
|
319
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
35 |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
36 /* when syncing we don't want to keep deleted anime */ |
|
d928ec7b6a0d
services/kitsu: implement GetAnimeList()
Paper <paper@paper.us.eu.org>
parents:
317
diff
changeset
|
37 void RemoveAllUserData(); |
|
326
10096c5489e3
anime/db: refactor anime_season_db out
Paper <paper@paper.us.eu.org>
parents:
319
diff
changeset
|
38 |
|
327
b5d6c27c308f
anime: refactor Anime::SeriesSeason to Season class
Paper <paper@paper.us.eu.org>
parents:
326
diff
changeset
|
39 std::vector<int> GetAllAnimeForSeason(Season season); |
| 378 | 40 |
| 41 QImage GetAnimePoster(int id); | |
| 10 | 42 }; |
| 43 | |
| 11 | 44 extern Database db; |
| 10 | 45 |
| 46 } // namespace Anime | |
| 85 | 47 |
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
48 #endif // MINORI_CORE_ANIME_DB_H_ |
