Downloading songs needs some work
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -52,11 +52,12 @@ namespace repository { namespace local {
|
||||
queryStr.append(m_tableName);
|
||||
|
||||
SQLite::Statement query(db, queryStr);
|
||||
auto r = query.exec();
|
||||
|
||||
auto r = query.executeStep();
|
||||
|
||||
const auto result = query.hasRow();
|
||||
|
||||
return result;
|
||||
return !result;
|
||||
} catch (std::exception& ex) {
|
||||
auto msg = ex.what();
|
||||
}
|
||||
|
||||
@@ -298,7 +298,6 @@ namespace repository {
|
||||
std::string queryString("DELETE FROM ");
|
||||
queryString.append(m_tableName);
|
||||
queryString.append(" WHERE Id = ?");
|
||||
// queryString.append("Duration, Track, Disc, Filename, Path, CoverArtId)");
|
||||
SQLite::Statement query(db, queryString);
|
||||
query.bind(1, song.id);
|
||||
|
||||
@@ -334,7 +333,7 @@ namespace repository {
|
||||
query.bind(12, song.path);
|
||||
query.bind(13, song.coverArtId);
|
||||
|
||||
query.exec();
|
||||
auto result = query.exec();
|
||||
} catch (std::exception& ex) {
|
||||
auto msg = ex.what();
|
||||
}
|
||||
|
||||
@@ -34,11 +34,8 @@ namespace repository { namespace local {
|
||||
|
||||
auto result = query.executeStep();
|
||||
|
||||
auto valZero = query.getColumn(1);
|
||||
auto valOne = query.getColumn(2);
|
||||
|
||||
user.username = valZero.getString();
|
||||
user.password = valOne.getString();
|
||||
user.username = std::move(query.getColumn(1).getString());
|
||||
user.password = std::move(query.getColumn(2).getString());
|
||||
|
||||
return user;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user