From fefeacfca38fc8542ef7978377692d48c9051cd8 Mon Sep 17 00:00:00 2001 From: Maksym Pavlenko Date: Fri, 16 Jun 2017 22:43:58 -0700 Subject: [PATCH] Support YouTube mobile link formats --- src/Podsync/Services/Links/LinkService.cs | 2 +- test/Podsync.Tests/Services/Links/LinkServiceTests.cs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Podsync/Services/Links/LinkService.cs b/src/Podsync/Services/Links/LinkService.cs index 1e5992e..45f7493 100644 --- a/src/Podsync/Services/Links/LinkService.cs +++ b/src/Podsync/Services/Links/LinkService.cs @@ -35,7 +35,7 @@ namespace Podsync.Services.Links https://www.youtube.com/channel/UCrlakW-ewUT8sOod6Wmzyow/videos */ - private static readonly Regex YouTubeRegex = new Regex(@"^(?:https?://)?(?:www\.)?(?:youtube.com/)(?user|channel|playlist|watch)/?(?[-\w]+)?", RegexOptions.Compiled); + private static readonly Regex YouTubeRegex = new Regex(@"^(?:https?://)?(?:www\.|m\.)?(?:youtube.com/)(?user|channel|playlist|watch)/?(?[-\w]+)?", RegexOptions.Compiled); /* Vimeo groups, channels and users diff --git a/test/Podsync.Tests/Services/Links/LinkServiceTests.cs b/test/Podsync.Tests/Services/Links/LinkServiceTests.cs index 31496a5..e38b63c 100644 --- a/test/Podsync.Tests/Services/Links/LinkServiceTests.cs +++ b/test/Podsync.Tests/Services/Links/LinkServiceTests.cs @@ -18,6 +18,9 @@ namespace Podsync.Tests.Services.Links [InlineData("https://www.youtube.com/playlist?list=PLP8qlV2aurYqdhyXW9ErqUW9Fw9F_mheM", LinkType.Playlist, "PLP8qlV2aurYqdhyXW9ErqUW9Fw9F_mheM")] [InlineData("https://www.youtube.com/user/NEMAGIA/videos", LinkType.User, "NEMAGIA")] [InlineData("https://www.youtube.com/channel/UCrlakW-ewUT8sOod6Wmzyow/videos", LinkType.Channel, "UCrlakW-ewUT8sOod6Wmzyow")] + [InlineData("https://m.youtube.com/channel/UCrlakW-ewUT8sOod6Wmzyow/videos", LinkType.Channel, "UCrlakW-ewUT8sOod6Wmzyow")] + [InlineData("http://m.youtube.com/user/NEMAGIA/videos", LinkType.User, "NEMAGIA")] + [InlineData("http://m.youtube.com/playlist?list=PLCB9F975ECF01953C", LinkType.Playlist, "PLCB9F975ECF01953C")] public void ParseYoutubeLinks(string link, LinkType linkType, string id) { var info = _linkService.Parse(new Uri(link));