mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-15 23:58:57 +00:00
Migrated UserData from library sqlite db to jellyfin.db
This commit is contained in:
@@ -312,8 +312,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||
if (user is not null)
|
||||
{
|
||||
userData = _userDataManager.GetUserData(user, item);
|
||||
userData.Played = played;
|
||||
_userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
|
||||
if (userData is not null)
|
||||
{
|
||||
userData.Played = played;
|
||||
_userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -326,8 +329,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||
if (user is not null)
|
||||
{
|
||||
userData = _userDataManager.GetUserData(user, item);
|
||||
userData.PlayCount = count;
|
||||
_userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
|
||||
if (userData is not null)
|
||||
{
|
||||
userData.PlayCount = count;
|
||||
_userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,8 +346,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||
if (user is not null)
|
||||
{
|
||||
userData = _userDataManager.GetUserData(user, item);
|
||||
userData.LastPlayedDate = lastPlayed;
|
||||
_userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
|
||||
if (userData is not null)
|
||||
{
|
||||
userData.LastPlayedDate = lastPlayed;
|
||||
_userDataManager.SaveUserData(user, item, userData, UserDataSaveReason.Import, CancellationToken.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -869,43 +869,46 @@ namespace MediaBrowser.XbmcMetadata.Savers
|
||||
|
||||
var userdata = userDataRepo.GetUserData(user, item);
|
||||
|
||||
writer.WriteElementString(
|
||||
if (userdata is not null)
|
||||
{
|
||||
writer.WriteElementString(
|
||||
"isuserfavorite",
|
||||
userdata.IsFavorite.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||
|
||||
if (userdata.Rating.HasValue)
|
||||
{
|
||||
writer.WriteElementString(
|
||||
"userrating",
|
||||
userdata.Rating.Value.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||
}
|
||||
|
||||
if (!item.IsFolder)
|
||||
{
|
||||
writer.WriteElementString(
|
||||
"playcount",
|
||||
userdata.PlayCount.ToString(CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString(
|
||||
"watched",
|
||||
userdata.Played.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||
|
||||
if (userdata.LastPlayedDate.HasValue)
|
||||
if (userdata.Rating.HasValue)
|
||||
{
|
||||
writer.WriteElementString(
|
||||
"lastplayed",
|
||||
userdata.LastPlayedDate.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||
"userrating",
|
||||
userdata.Rating.Value.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||
}
|
||||
|
||||
writer.WriteStartElement("resume");
|
||||
if (!item.IsFolder)
|
||||
{
|
||||
writer.WriteElementString(
|
||||
"playcount",
|
||||
userdata.PlayCount.ToString(CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString(
|
||||
"watched",
|
||||
userdata.Played.ToString(CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||
|
||||
var runTimeTicks = item.RunTimeTicks ?? 0;
|
||||
if (userdata.LastPlayedDate.HasValue)
|
||||
{
|
||||
writer.WriteElementString(
|
||||
"lastplayed",
|
||||
userdata.LastPlayedDate.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).ToLowerInvariant());
|
||||
}
|
||||
|
||||
writer.WriteElementString(
|
||||
"position",
|
||||
TimeSpan.FromTicks(userdata.PlaybackPositionTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString(
|
||||
"total",
|
||||
TimeSpan.FromTicks(runTimeTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
|
||||
writer.WriteStartElement("resume");
|
||||
|
||||
var runTimeTicks = item.RunTimeTicks ?? 0;
|
||||
|
||||
writer.WriteElementString(
|
||||
"position",
|
||||
TimeSpan.FromTicks(userdata.PlaybackPositionTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
|
||||
writer.WriteElementString(
|
||||
"total",
|
||||
TimeSpan.FromTicks(runTimeTicks).TotalSeconds.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
||||
writer.WriteEndElement();
|
||||
|
||||
Reference in New Issue
Block a user