Downloading songs needs some work

This commit is contained in:
kdeng00
2020-01-07 22:27:51 -05:00
parent 1fa7df4aa2
commit 65dbe0d69f
12 changed files with 74 additions and 39 deletions
+4 -7
View File
@@ -271,24 +271,21 @@ void downloadSong(Song& song, const Token& token, const Str& path) {
repository::local::APIRepository apiRepo;
auto apiInfo = apiRepo.retrieveAPIInfo(path);
repository::SongRepository songRepo;
auto downloadedSong = songRepo.downloadSong(token, song, apiInfo);
manager::DirectoryManager dirMgr;
if (dirMgr.doesSongExist(song, path)) {
std::cout << "song already exists\n";
return;
}
auto downloadedSong = songRepo.downloadSong(token, song, apiInfo);
dirMgr.createSongDirectory(song, path);
downloadedSong.path = dirMgr.fullSongPath(song, path);
std::fstream saveSong(downloadedSong.path, std::ios::out | std::ios::binary);
saveSong.write((char*)&downloadedSong.data[0], downloadedSong.data.size());
saveSong.close();
repository::local::SongRepository localSongRepo;
if (!localSongRepo.databaseExist(path)) {
localSongRepo.initializedDatabase(path);
}
repository::local::SongRepository localSongRepo(path);
if (!localSongRepo.doesTableExist(path)) {
localSongRepo.createSongTable(path);
}
@@ -405,7 +402,7 @@ Java_com_example_mear_repositories_TrackRepository_retrieveSongsIncludingDownloa
auto i = 0;
repository::local::SongRepository localSongRepo(appPath);
auto localSongs = (localSongRepo.isTableEmpty(appPath)) ?
auto localSongs = (!localSongRepo.isTableEmpty(appPath)) ?
localSongRepo.retrieveAllSongs(appPath) : std::vector<model::Song>();
for (auto& sng: allSongs) {