Parse hour/minutes/seconds from session filenames (#4660)

This commit is contained in:
David Capello 2024-09-19 16:06:17 -03:00
parent 5860269358
commit c4e5473d1c

View File

@ -150,19 +150,19 @@ bool Session::isOldSession()
int lifespanDays = m_config->keepEditedSpriteDataFor; int lifespanDays = m_config->keepEditedSpriteDataFor;
base::Time sessionTime; base::Time sessionTime;
// Get the session time from the name if possible, to avoid re-scanning when transferring files // Get the session time from the name if possible, to avoid re-scanning when transferring files
std::vector<std::string> parts; std::vector<std::string> parts;
base::split_string(base::get_file_title(m_path), parts, "-"); base::split_string(base::get_file_title(m_path), parts, "-");
if (parts.size() == 3 && parts[0].size() == 8) { if (parts.size() == 3 && parts[0].size() == 8 && parts[1].size() == 6) {
try { try {
sessionTime = base::Time(filenamePartToInt(parts[0].substr(0, 4)), sessionTime = base::Time(filenamePartToInt(parts[0].substr(0, 4)),
filenamePartToInt(parts[0].substr(4, 2)), filenamePartToInt(parts[0].substr(4, 2)),
filenamePartToInt(parts[0].substr(6, 2)), filenamePartToInt(parts[0].substr(6, 2)),
0, filenamePartToInt(parts[1].substr(0, 2)),
0, filenamePartToInt(parts[1].substr(2, 2)),
0); filenamePartToInt(parts[1].substr(4, 2)));
} }
catch (const std::exception& ex) { catch (const std::exception& ex) {
LOG(ERROR, LOG(ERROR,
@ -171,7 +171,7 @@ bool Session::isOldSession()
ex.what()); ex.what());
} }
} }
if (!sessionTime.valid()) { if (!sessionTime.valid()) {
// Get modification time as a fallback // Get modification time as a fallback
sessionTime = base::get_modification_time(verfile); sessionTime = base::get_modification_time(verfile);