Skip to content

Commit 0847777

Browse files
committed
rss: Add crates:name and crates:version extension fields
1 parent 72ef832 commit 0847777

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

src/tests/worker/rss/snapshots/all__worker__rss__sync_updates_feed__sync_updates_feed-2.snap

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,49 @@ expression: content
1515
<link>https://crates.io/crates/foo/1.2.0</link>
1616
<guid>https://crates.io/crates/foo/1.2.0</guid>
1717
<pubDate>Sat, 22 Jun 2024 15:57:19 +0000</pubDate>
18+
<crates:name>foo</crates:name>
19+
<crates:version>1.2.0</crates:version>
1820
</item>
1921
<item>
2022
<title>foo v1.1.0</title>
2123
<link>https://crates.io/crates/foo/1.1.0</link>
2224
<guid>https://crates.io/crates/foo/1.1.0</guid>
2325
<pubDate>Sat, 22 Jun 2024 08:30:01 +0000</pubDate>
26+
<crates:name>foo</crates:name>
27+
<crates:version>1.1.0</crates:version>
2428
</item>
2529
<item>
2630
<title>bar v3.0.0-beta.1</title>
2731
<link>https://crates.io/crates/bar/3.0.0-beta.1</link>
2832
<description><![CDATA[let&apos;s try &amp; break this &lt;item&gt;]]></description>
2933
<guid>https://crates.io/crates/bar/3.0.0-beta.1</guid>
3034
<pubDate>Fri, 21 Jun 2024 17:03:45 +0000</pubDate>
35+
<crates:name>bar</crates:name>
36+
<crates:version>3.0.0-beta.1</crates:version>
3137
</item>
3238
<item>
3339
<title>foo v1.0.0</title>
3440
<link>https://crates.io/crates/foo/1.0.0</link>
3541
<guid>https://crates.io/crates/foo/1.0.0</guid>
3642
<pubDate>Fri, 21 Jun 2024 17:01:33 +0000</pubDate>
43+
<crates:name>foo</crates:name>
44+
<crates:version>1.0.0</crates:version>
3745
</item>
3846
<item>
3947
<title>foo v0.1.1</title>
4048
<link>https://crates.io/crates/foo/0.1.1</link>
4149
<guid>https://crates.io/crates/foo/0.1.1</guid>
4250
<pubDate>Thu, 20 Jun 2024 12:45:12 +0000</pubDate>
51+
<crates:name>foo</crates:name>
52+
<crates:version>0.1.1</crates:version>
4353
</item>
4454
<item>
4555
<title>foo v0.1.0</title>
4656
<link>https://crates.io/crates/foo/0.1.0</link>
4757
<guid>https://crates.io/crates/foo/0.1.0</guid>
4858
<pubDate>Thu, 20 Jun 2024 10:13:54 +0000</pubDate>
59+
<crates:name>foo</crates:name>
60+
<crates:version>0.1.0</crates:version>
4961
</item>
5062
</channel>
5163
</rss>

src/worker/jobs/rss/sync_updates_feed.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,33 @@ impl VersionUpdate {
103103
.description
104104
.map(|d| quick_xml::escape::escape(&d).to_string());
105105

106+
let name_extension = rss::extension::Extension {
107+
name: "crates:name".into(),
108+
value: Some(self.name),
109+
..Default::default()
110+
};
111+
112+
let version_extension = rss::extension::Extension {
113+
name: "crates:version".into(),
114+
value: Some(self.version),
115+
..Default::default()
116+
};
117+
118+
let extensions = vec![
119+
("name".to_string(), vec![name_extension]),
120+
("version".to_string(), vec![version_extension]),
121+
];
122+
let extensions = extensions.into_iter().collect();
123+
let extensions = vec![("crates".to_string(), extensions)];
124+
let extensions = extensions.into_iter().collect();
125+
106126
rss::Item {
107127
guid: Some(guid),
108128
title: Some(title),
109129
link: Some(link),
110130
description,
111131
pub_date: Some(pub_date),
132+
extensions,
112133
..Default::default()
113134
}
114135
}

0 commit comments

Comments
 (0)