Skip to content

Commit 7c79d1e

Browse files
committed
add removeUnwantedPrefix to RSS2 parser
1 parent 0e00355 commit 7c79d1e

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

apps/backend/src/app/infrastructure/external/rss2.parser.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Parser, { Item } from 'rss-parser';
33
import { INewsParser } from '../../application/ports/news-parser.port';
44
import { News } from '../../core/entities/news.entity';
55
import { Provider } from '../../core/entities/provider.entity';
6-
import { parseFrenchDate } from '../../utils/parsing';
6+
import { parseFrenchDate, removeUnwantedPrefix } from '../../utils/parsing';
77

88
const parser = new Parser();
99

@@ -15,7 +15,7 @@ export class RSS2NewsParser implements INewsParser {
1515
async fetchFrom(provider: Provider): Promise<News[]> {
1616
const feed = await parser.parseURL(provider.feedUrl);
1717
return feed.items.map((item: Item) => ({
18-
title: item.title || '',
18+
title: (item.title && removeUnwantedPrefix(item.title)) || '',
1919
url: item.link || '',
2020
providerId: provider.id!,
2121
createdAt: item.pubDate

apps/backend/src/app/utils/parsing.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,11 @@ export function parseFrenchDate(dateStr: string): Date {
8686

8787
return result;
8888
}
89+
90+
export function removeUnwantedPrefix(text: string): string {
91+
const unwantedPrefixes = ['☕️ ', 'Actualité : '];
92+
return unwantedPrefixes.reduce(
93+
(acc, prefix) => (acc.startsWith(prefix) ? acc.slice(prefix.length) : acc),
94+
text,
95+
);
96+
}

0 commit comments

Comments
 (0)