Fixed codeQL issue + fixed bad db migration. fixes #308
This commit is contained in:
@@ -126,6 +126,7 @@ class Track : public Object<Track, TrackId>
|
||||
void setTotalDisc(std::optional<int> totalDisc) { _totalDisc = totalDisc ? *totalDisc : 0; }
|
||||
void setDiscSubtitle(const std::string& name) { _discSubtitle = name; }
|
||||
void setName(const std::string& name) { _name = std::string(name, 0, _maxNameLength); }
|
||||
void setPath(const std::filesystem::path& filePath) { _filePath = filePath; }
|
||||
void setDuration(std::chrono::milliseconds duration) { _duration = duration; }
|
||||
void setLastWriteTime(Wt::WDateTime time) { _fileLastWrite = time; }
|
||||
void setAddedTime(Wt::WDateTime time) { _fileAdded = time; }
|
||||
|
||||
@@ -287,19 +287,16 @@ namespace Scanner
|
||||
{
|
||||
std::vector<Track::pointer> duplicateTracks {Track::findByMBID(dbSession, *trackInfo->trackMBID)};
|
||||
|
||||
if (!track)
|
||||
// find for existing MBIDs as the file may have just been moved
|
||||
if (!track && duplicateTracks.size() == 1)
|
||||
{
|
||||
// find for existing MBIDs as the file may have just been moved
|
||||
const auto duplicateTracks {Track::findByMBID(dbSession, *trackInfo->trackMBID)};
|
||||
if (duplicateTracks.size() == 1)
|
||||
Track::pointer otherTrack {duplicateTracks.front()};
|
||||
std::error_code ec;
|
||||
if (!std::filesystem::exists(otherTrack->getPath(), ec))
|
||||
{
|
||||
Track::pointer otherTrack {duplicateTracks.front()};
|
||||
std::error_code ec;
|
||||
if (!std::filesystem::exists(otherTrack->getPath(), ec))
|
||||
{
|
||||
LMS_LOG(DBUPDATER, DEBUG) << "Considering track '" << file.string() << "' moved from '" << otherTrack->getPath() << "'";
|
||||
track = otherTrack;
|
||||
}
|
||||
LMS_LOG(DBUPDATER, DEBUG) << "Considering track '" << file.string() << "' moved from '" << otherTrack->getPath() << "'";
|
||||
track = otherTrack;
|
||||
track.modify()->setPath(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user