Skip to content

Commit

Permalink
廃止されたタイムシフト取得APIを削除
Browse files Browse the repository at this point in the history
  • Loading branch information
tor4kichi committed May 10, 2023
1 parent 89e45f4 commit 10a6b3b
Show file tree
Hide file tree
Showing 4 changed files with 338 additions and 399 deletions.
76 changes: 0 additions & 76 deletions NiconicoToolkit.Shared/Timeshift/TimeshiftClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,82 +56,6 @@ internal static class Urls
}


private static readonly byte[] s_vidUtf8 = Encoding.UTF8.GetBytes("vid");
private static readonly byte[] s_titleUtf8 = Encoding.UTF8.GetBytes("title");
private static readonly byte[] s_statusUtf8 = Encoding.UTF8.GetBytes("status");
private static readonly byte[] s_unwatchUtf8 = Encoding.UTF8.GetBytes("unwatch");
private static readonly byte[] s_expireUtf8 = Encoding.UTF8.GetBytes("expire");

/// <remarks>[Require Login]</remarks>
[RequireLogin]
public async Task<TimeshiftReservationsDetailResponse> GetTimeshiftReservationsDetailAsync()
{
using var res = await _context.GetAsync($"{Urls.TimeshiftWachingReservationApiUrl}?mode=detaillist");

if (!res.IsSuccessStatusCode)
{
return new TimeshiftReservationsDetailResponse() { Meta = new TimeshiftReservationDetailMeta() { Status = res.StatusCode.ToString() } };
}
#if WINDOWS_UWP
using (var contentStream = await res.Content.ReadAsInputStreamAsync())
using (var stream = contentStream.AsStreamForRead())
#else
using (var stream = await res.Content.ReadAsStreamAsync())
#endif
using (XmlObject xml = XmlParser.Parse(stream))
{
XmlNode root = xml.Root;
var status = root.Attributes.First(x => x.Name.SequenceEqual(s_statusUtf8)).Value.ToString();
var result = new TimeshiftReservationsDetailResponse() { Meta = new TimeshiftReservationDetailMeta() { Status = status } };
if (status != "ok")
{
return result;
}

static TimeshiftReservationDetailItem ToItem(XmlNode itemNode)
{
var item = new TimeshiftReservationDetailItem();
foreach (var valueNode in itemNode.Children)
{
var nameAsSpan = valueNode.Name.AsSpan();
if (valueNode.Name.SequenceEqual(s_vidUtf8))
{
item.LiveId = valueNode.InnerText.ToString();
}
else if (valueNode.Name.SequenceEqual(s_titleUtf8))
{
item.Title = valueNode.InnerText.ToString();
}
else if (valueNode.Name.SequenceEqual(s_statusUtf8))
{
item.Status = valueNode.InnerText.ToString();
}
else if (valueNode.Name.SequenceEqual(s_unwatchUtf8))
{
item.IsUnwatched = valueNode.InnerText.ToInt32() == 0;
}
else if (valueNode.Name.SequenceEqual(s_expireUtf8))
{
var expire = valueNode.InnerText.ToInt64();
item.ExpiredAt = expire != 0 ? expire.ToDateTimeOffsetFromUnixTime() : null;
}
}

return item;
}

var listNode = root.FirstChild;
result.Data = new TimeshiftReservationDetailData()
{
Items = listNode.Value.Children.Select(ToItem).ToArray(),
};

return result;
}
}



/// <remarks>[Require Login]</remarks>
[RequireLogin]
public Task<ReserveTimeshiftResponse> ReserveTimeshiftAsync(LiveId liveId, bool overwrite)
Expand Down
Loading

0 comments on commit 10a6b3b

Please sign in to comment.