diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-05-08 13:38:36 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-05-08 17:47:29 +1000 |
| commit | 16e6180ba7946119538d03463ea7d37fccc4dcb3 (patch) | |
| tree | 968483bfa477b43a72b8b6dfefaac3e771163e9e /src/main | |
| parent | fe19478e0f286191c3bf1b9946b89ed26d5c4bae (diff) | |
| download | tangara-fw-16e6180ba7946119538d03463ea7d37fccc4dcb3.tar.gz | |
Database init is now stable!
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/app_console.cpp | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/src/main/app_console.cpp b/src/main/app_console.cpp index 00bfa993..759afa91 100644 --- a/src/main/app_console.cpp +++ b/src/main/app_console.cpp @@ -154,7 +154,7 @@ int CmdDbInit(int argc, char** argv) { return 1; } - sInstance->database_->Populate().get(); + sInstance->database_->Update(); return 0; } @@ -177,11 +177,11 @@ int CmdDbSongs(int argc, char** argv) { } database::Result<database::Song> res = - sInstance->database_->GetSongs(10).get(); + sInstance->database_->GetSongs(20).get(); while (true) { - std::unique_ptr<std::vector<database::Song>> r = res.values(); + std::unique_ptr<std::vector<database::Song>> r(res.values()); for (database::Song s : *r) { - std::cout << s.title << std::endl; + std::cout << s.tags().title.value_or("[BLANK]") << std::endl; } if (res.HasMore()) { res = sInstance->database_->GetMoreSongs(10, res.continuation()).get(); @@ -202,6 +202,43 @@ void RegisterDbSongs() { esp_console_cmd_register(&cmd); } +int CmdDbDump(int argc, char** argv) { + static const std::string usage = "usage: db_dump"; + if (argc != 1) { + std::cout << usage << std::endl; + return 1; + } + + std::cout << "=== BEGIN DUMP ===" << std::endl; + + database::Result<std::string> res = sInstance->database_->GetDump(20).get(); + while (true) { + std::unique_ptr<std::vector<std::string>> r(res.values()); + if (r == nullptr) { + break; + } + for (std::string s : *r) { + std::cout << s << std::endl; + } + if (res.HasMore()) { + res = sInstance->database_->GetMoreDump(20, res.continuation()).get(); + } + } + + std::cout << "=== END DUMP ===" << std::endl; + + return 0; +} + +void RegisterDbDump() { + esp_console_cmd_t cmd{.command = "db_dump", + .help = "prints every key/value pair in the db", + .hint = NULL, + .func = &CmdDbDump, + .argtable = NULL}; + esp_console_cmd_register(&cmd); +} + AppConsole::AppConsole(audio::AudioPlayback* playback, database::Database* database) : playback_(playback), database_(database) { @@ -219,6 +256,7 @@ auto AppConsole::RegisterExtraComponents() -> void { RegisterAudioStatus(); RegisterDbInit(); RegisterDbSongs(); + RegisterDbDump(); } } // namespace console |
