set rss descriptions matching rss type

This commit is contained in:
Umputun
2019-01-27 15:08:39 -06:00
parent 93246aec0f
commit af6076187f
3 changed files with 17 additions and 9 deletions
+1
View File
@@ -75,6 +75,7 @@ func TestAdmin_Delete(t *testing.T) {
assert.Equal(t, "", cr.Text)
assert.True(t, cr.Deleted)
time.Sleep(100 * time.Millisecond)
// check last comments updated
res, code = get(t, ts.URL+"/api/v1/last/2?site=radio-t")
assert.Equal(t, 200, code)
+12 -5
View File
@@ -42,7 +42,7 @@ func (s *Rest) rssPostCommentsCtrl(w http.ResponseWriter, r *http.Request) {
return nil, e
}
comments = s.adminService.alterComments(comments, r)
rss, e := s.toRssFeed(locator.URL, comments)
rss, e := s.toRssFeed(locator.URL, comments, "post comments for "+r.URL.Query().Get("url"))
if e != nil {
return nil, e
}
@@ -75,7 +75,7 @@ func (s *Rest) rssSiteCommentsCtrl(w http.ResponseWriter, r *http.Request) {
}
comments = s.adminService.alterComments(comments, r)
rss, e := s.toRssFeed(r.URL.Query().Get("site"), comments)
rss, e := s.toRssFeed(r.URL.Query().Get("site"), comments, "site comment for "+siteID)
if e != nil {
return nil, e
}
@@ -100,6 +100,7 @@ func (s *Rest) rssRepliesCtrl(w http.ResponseWriter, r *http.Request) {
siteID := r.URL.Query().Get("site")
log.Printf("[DEBUG] get rss replies to user %s for site %s", userID, siteID)
userName := ""
key := cache.NewKey(siteID).ID(URLKey(r)).Scopes(siteID, lastCommentsScope)
data, err := s.Cache.Get(key, func() (res []byte, e error) {
comments, e := s.DataService.Last(siteID, maxLastCommentsReply)
@@ -112,6 +113,9 @@ func (s *Rest) rssRepliesCtrl(w http.ResponseWriter, r *http.Request) {
if len(replies) > maxRssItems || c.Timestamp.Add(maxReplyDuration).Before(time.Now()) {
break
}
if c.User.ID != userID {
userName = c.User.Name
}
if c.ParentID != "" && !c.Deleted && c.User.ID != userID { // not interested in replies to yourself
var pc store.Comment
if pc, e = s.DataService.Get(c.Locator, c.ParentID); e != nil {
@@ -123,7 +127,7 @@ func (s *Rest) rssRepliesCtrl(w http.ResponseWriter, r *http.Request) {
}
}
rss, e := s.toRssFeed(siteID, replies)
rss, e := s.toRssFeed(siteID, replies, "replies to "+userName)
if e != nil {
return nil, e
}
@@ -142,8 +146,11 @@ func (s *Rest) rssRepliesCtrl(w http.ResponseWriter, r *http.Request) {
}
}
func (s *Rest) toRssFeed(url string, comments []store.Comment) (string, error) {
func (s *Rest) toRssFeed(url string, comments []store.Comment, description string) (string, error) {
if description == "" {
description = "comment updates"
}
lastCommentTS := time.Unix(0, 0)
if len(comments) > 0 {
lastCommentTS = comments[0].Timestamp
@@ -152,7 +159,7 @@ func (s *Rest) toRssFeed(url string, comments []store.Comment) (string, error) {
feed := &feeds.Feed{
Title: "Remark42 comments",
Link: &feeds.Link{Href: url},
Description: "comment updates",
Description: description,
Created: lastCommentTS,
}
+4 -4
View File
@@ -38,7 +38,7 @@ func TestServer_RssPost(t *testing.T) {
<channel>
<title>Remark42 comments</title>
<link>https://radio-t.com/blah1</link>
<description>comment updates</description>
<description>post comments for https://radio-t.com/blah1</description>
<pubDate>%s</pubDate>
<item>
<title>developer one</title>
@@ -93,7 +93,7 @@ func TestServer_RssSite(t *testing.T) {
<channel>
<title>Remark42 comments</title>
<link>radio-t</link>
<description>comment updates</description>
<description>site comment for radio-t</description>
<pubDate>%s</pubDate>
<item>
<title>developer one</title>
@@ -156,7 +156,7 @@ func TestServer_RssWithReply(t *testing.T) {
<channel>
<title>Remark42 comments</title>
<link>https://radio-t.com/blah10</link>
<description>comment updates</description>
<description>post comments for https://radio-t.com/blah10</description>
<pubDate>%s</pubDate>
<item>
<title>developer one &gt; developer one</title>
@@ -242,7 +242,7 @@ func TestServer_RssReplies(t *testing.T) {
<channel>
<title>Remark42 comments</title>
<link>radio-t</link>
<description>comment updates</description>
<description>replies to user2</description>
<pubDate>%s</pubDate>
<item>
<title>user3 &gt; user1</title>