@@ -35,6 +35,8 @@ import Data.Time.Format
35
35
( formatTime )
36
36
import Data.Time.Locale.Compat
37
37
( defaultTimeLocale )
38
+ import Data.Maybe
39
+ ( listToMaybe )
38
40
39
41
-- | Takes a list of package info, in reverse order by timestamp.
40
42
--
@@ -119,35 +121,36 @@ recentFeed users hostURI now pkgs = RSS
119
121
" Recent additions"
120
122
(hostURI { uriPath = recentAdditionsURL})
121
123
desc
122
- (channel now )
124
+ (channel updated )
123
125
(map (releaseItem users hostURI) pkgList)
124
126
where
125
127
desc = " The 20 most recent additions to Hackage (or last 48 hours worth, whichever is greater), the Haskell package database."
126
128
twoDaysAgo = addUTCTime (negate $ 60 * 60 * 48 ) now
127
129
pkgListTwoDays = takeWhile (\ p -> pkgLatestUploadTime p > twoDaysAgo) pkgs
128
130
pkgList = if (length pkgListTwoDays > 20 ) then pkgListTwoDays else take 20 pkgs
129
-
131
+ updated = maybe now ( fst . pkgOriginalUploadInfo) (listToMaybe pkgList)
130
132
131
133
recentRevisionsFeed :: Users -> URI -> UTCTime -> [PkgInfo ] -> RSS
132
134
recentRevisionsFeed users hostURI now pkgs = RSS
133
135
" Recent revisions"
134
136
(hostURI { uriPath = recentRevisionsURL})
135
137
desc
136
- (channel now )
138
+ (channel updated )
137
139
(map (revisionItem users hostURI) pkgList)
138
140
where
139
141
desc = " The 40 most recent revisions to cabal metadata in Hackage (or last 48 hours worth, whichever is greater), the Haskell package database."
140
142
twoDaysAgo = addUTCTime (negate $ 60 * 60 * 48 ) now
141
143
pkgListTwoDays = takeWhile (\ p -> pkgLatestUploadTime p > twoDaysAgo) pkgs
142
144
pkgList = if (length pkgListTwoDays > 40 ) then pkgListTwoDays else take 40 pkgs
145
+ updated = maybe now (fst . pkgOriginalUploadInfo) (listToMaybe pkgList)
143
146
144
147
channel :: UTCTime -> [RSS. ChannelElem ]
145
- channel now =
148
+ channel updated =
146
149
[ RSS. Language " en"
147
150
, RSS. ManagingEditor email
148
151
, RSS. WebMaster email
149
- , RSS. ChannelPubDate now
150
- , RSS. LastBuildDate now
152
+ , RSS. ChannelPubDate updated
153
+ , RSS. LastBuildDate updated
151
154
, RSS. Generator " rss-feed"
152
155
]
153
156
where
0 commit comments