Fix tools/checks builds

This commit is contained in:
emeric
2019-07-30 13:34:53 +02:00
parent 40000249c6
commit 609b7c87f7
3 changed files with 23 additions and 24 deletions
+5 -4
View File
@@ -27,6 +27,7 @@
#include "database/TrackList.hpp" #include "database/TrackList.hpp"
#include "database/Release.hpp" #include "database/Release.hpp"
#include "database/Track.hpp" #include "database/Track.hpp"
#include "database/User.hpp"
using namespace Database; using namespace Database;
@@ -1041,7 +1042,7 @@ testSingleUser(Session& session)
{ {
auto transaction {session.createUniqueTransaction()}; auto transaction {session.createUniqueTransaction()};
auto user {User::create(session)}; auto user {User::create(session, "", {})};
CHECK(user); CHECK(user);
userId = user.id(); userId = user.id();
@@ -1079,7 +1080,7 @@ testSingleStarredArtist(Session& session)
auto artist {Artist::create(session, "MyArtist")}; auto artist {Artist::create(session, "MyArtist")};
CHECK(artist); CHECK(artist);
auto user {User::create(session)}; auto user {User::create(session, "", {})};
CHECK(user); CHECK(user);
artistId = artist.id(); artistId = artist.id();
@@ -1134,7 +1135,7 @@ testSingleStarredRelease(Session& session)
auto release {Release::create(session, "MyRelease")}; auto release {Release::create(session, "MyRelease")};
CHECK(release); CHECK(release);
auto user {User::create(session)}; auto user {User::create(session, "", {})};
CHECK(user); CHECK(user);
releaseId = release.id(); releaseId = release.id();
@@ -1189,7 +1190,7 @@ testSingleStarredTrack(Session& session)
auto track {Track::create(session, "MyTrackFile")}; auto track {Track::create(session, "MyTrackFile")};
CHECK(track); CHECK(track);
auto user {User::create(session)}; auto user {User::create(session, "", {})};
CHECK(user); CHECK(user);
trackId = track.id(); trackId = track.id();
+15 -19
View File
@@ -5,12 +5,14 @@
#include <chrono> #include <chrono>
#include <random> #include <random>
#include "database/DatabaseHandler.hpp" #include "database/Database.hpp"
#include "database/Session.hpp"
#include "database/Track.hpp" #include "database/Track.hpp"
#include "database/Artist.hpp" #include "database/Artist.hpp"
#include "database/Cluster.hpp" #include "database/Cluster.hpp"
#include "database/Release.hpp" #include "database/Release.hpp"
#include "database/TrackFeatures.hpp" #include "database/TrackFeatures.hpp"
#include "main/Service.hpp"
#include "utils/Config.hpp" #include "utils/Config.hpp"
#include "similarity/features/som/DataNormalizer.hpp" #include "similarity/features/som/DataNormalizer.hpp"
#include "similarity/features/som/Network.hpp" #include "similarity/features/som/Network.hpp"
@@ -18,12 +20,7 @@
static static
std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track) std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track)
{ {
auto genreClusterType = Database::ClusterType::getByName(*track->session(), "GENRE");
os << "["; os << "[";
auto genreClusters = track->getClusterGroups({genreClusterType}, 1);
for (auto genreCluster : genreClusters)
os << genreCluster.front()->getName() << " - ";
for (auto artist : track->getArtists()) for (auto artist : track->getArtists())
os << artist->getName() << " - "; os << artist->getName() << " - ";
if (track->getRelease()) if (track->getRelease())
@@ -35,7 +32,7 @@ std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track
static static
bool bool
getTrackFeatures(Wt::Dbo::Session &session, const Database::Track::pointer& track, const std::map<std::string, std::size_t>& featuresSettings, SOM::InputVector& res) getTrackFeatures(Database::Session &session, const Database::Track::pointer& track, const std::map<std::string, std::size_t>& featuresSettings, SOM::InputVector& res)
{ {
std::map<std::string, std::vector<double>> features; std::map<std::string, std::vector<double>> features;
for (const auto& featureSettings : featuresSettings) for (const auto& featureSettings : featuresSettings)
@@ -91,16 +88,15 @@ int main(int argc, char *argv[])
if (argc >= 2) if (argc >= 2)
configFilePath = std::string(argv[1], 0, 256); configFilePath = std::string(argv[1], 0, 256);
Config::instance().setFile(configFilePath); ServiceProvider<Config>::create(configFilePath);
Database::Handler::configureAuth(); Database::Database db {getService<Config>()->getPath("working-dir") / "lms.db"};
auto connectionPool = Database::Handler::createConnectionPool(Config::instance().getPath("working-dir") / "lms.db"); auto session {db.createSession()};
Database::Handler db(*connectionPool);
std::cout << "Getting all features..." << std::endl; std::cout << "Getting all features..." << std::endl;
Wt::Dbo::Transaction transaction(db.getSession()); auto transaction {session->createUniqueTransaction()};
std::vector<Database::IdType> trackIds {Database::Track::getAllIdsWithFeatures(db.getSession(), nbTracks)}; std::vector<Database::IdType> trackIds {Database::Track::getAllIdsWithFeatures(*session, nbTracks)};
nbTracks = trackIds.size(); nbTracks = trackIds.size();
std::cout << "Getting features DONE (" << nbTracks << " tracks)" << std::endl; std::cout << "Getting features DONE (" << nbTracks << " tracks)" << std::endl;
@@ -110,12 +106,12 @@ int main(int argc, char *argv[])
for (Database::IdType trackId : trackIds) for (Database::IdType trackId : trackIds)
{ {
Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)}; Database::Track::pointer track {Database::Track::getById(*session, trackId)};
if (!track) if (!track)
continue; continue;
SOM::InputVector features {nbDims}; SOM::InputVector features {nbDims};
if (!getTrackFeatures(db.getSession(), track, featuresSettings, features)) if (!getTrackFeatures(*session, track, featuresSettings, features))
continue; continue;
tracksFeatures.emplace_back(std::move(features)); tracksFeatures.emplace_back(std::move(features));
@@ -169,12 +165,12 @@ int main(int argc, char *argv[])
SOM::Matrix< std::vector<Database::Track::pointer> > tracksMap(width, height); SOM::Matrix< std::vector<Database::Track::pointer> > tracksMap(width, height);
for (Database::IdType trackId : trackIds) for (Database::IdType trackId : trackIds)
{ {
Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)}; Database::Track::pointer track {Database::Track::getById(*session, trackId)};
if (!track) if (!track)
continue; continue;
SOM::InputVector features {nbDims}; SOM::InputVector features {nbDims};
if (!getTrackFeatures(db.getSession(), track, featuresSettings, features)) if (!getTrackFeatures(*session, track, featuresSettings, features))
continue; continue;
normalizer.normalizeData(features); normalizer.normalizeData(features);
@@ -204,12 +200,12 @@ int main(int argc, char *argv[])
// For each track, get the nearest tracks // For each track, get the nearest tracks
for (Database::IdType trackId : trackIds) for (Database::IdType trackId : trackIds)
{ {
Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)}; Database::Track::pointer track {Database::Track::getById(*session, trackId)};
if (!track) if (!track)
continue; continue;
SOM::InputVector features {nbDims}; SOM::InputVector features {nbDims};
if (!getTrackFeatures(db.getSession(), track, featuresSettings, features)) if (!getTrackFeatures(*session, track, featuresSettings, features))
continue; continue;
normalizer.normalizeData(features); normalizer.normalizeData(features);
+3 -1
View File
@@ -4,11 +4,13 @@ lms_similarity_SOURCES = \
$(srcdir)/LmsSimilarity.cpp \ $(srcdir)/LmsSimilarity.cpp \
$(top_srcdir)/src/database/Artist.cpp \ $(top_srcdir)/src/database/Artist.cpp \
$(top_srcdir)/src/database/Cluster.cpp \ $(top_srcdir)/src/database/Cluster.cpp \
$(top_srcdir)/src/database/DatabaseHandler.cpp \ $(top_srcdir)/src/database/Database.cpp \
$(top_srcdir)/src/database/TrackFeatures.cpp \ $(top_srcdir)/src/database/TrackFeatures.cpp \
$(top_srcdir)/src/database/TrackList.cpp \ $(top_srcdir)/src/database/TrackList.cpp \
$(top_srcdir)/src/database/Release.cpp \ $(top_srcdir)/src/database/Release.cpp \
$(top_srcdir)/src/database/ScanSettings.cpp \ $(top_srcdir)/src/database/ScanSettings.cpp \
$(top_srcdir)/src/database/Session.cpp \
$(top_srcdir)/src/database/SimilaritySettings.cpp \
$(top_srcdir)/src/database/SqlQuery.cpp \ $(top_srcdir)/src/database/SqlQuery.cpp \
$(top_srcdir)/src/database/Track.cpp \ $(top_srcdir)/src/database/Track.cpp \
$(top_srcdir)/src/database/User.cpp \ $(top_srcdir)/src/database/User.cpp \