浏览代码

refactor(subscription): replace a regex with strings.CutPrefix

jvoisin 9 月之前
父节点
当前提交
7a394b0bf8
共有 1 个文件被更改,包括 2 次插入7 次删除
  1. 2 7
      internal/reader/subscription/finder.go

+ 2 - 7
internal/reader/subscription/finder.go

@@ -9,7 +9,6 @@ import (
 	"io"
 	"log/slog"
 	"net/url"
-	"regexp"
 	"strings"
 
 	"miniflux.app/v2/internal/config"
@@ -24,10 +23,6 @@ import (
 	"github.com/PuerkitoBio/goquery"
 )
 
-var (
-	youtubeChannelRegex = regexp.MustCompile(`channel/(.*)$`)
-)
-
 type SubscriptionFinder struct {
 	requestBuilder   *fetcher.RequestBuilder
 	feedDownloaded   bool
@@ -300,8 +295,8 @@ func (f *SubscriptionFinder) FindSubscriptionsFromYouTubeChannelPage(websiteURL
 		return nil, nil
 	}
 
-	if matches := youtubeChannelRegex.FindStringSubmatch(decodedUrl.Path); len(matches) == 2 {
-		feedURL := fmt.Sprintf(`https://www.youtube.com/feeds/videos.xml?channel_id=%s`, matches[1])
+	if _, after, found := strings.Cut(decodedUrl.Path, "channel/"); found {
+		feedURL := "https://www.youtube.com/feeds/videos.xml?channel_id=" + after
 		return Subscriptions{NewSubscription(websiteURL, feedURL, parser.FormatAtom)}, nil
 	}