React Native mobile application for SAPIENS news platform. Consolidated all previous history into single commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
const fs = require('fs');
|
|
|
|
// Read the articles data
|
|
const articles = JSON.parse(fs.readFileSync('articles_temp.json', 'utf8'));
|
|
|
|
// Count thumbnail usage
|
|
const thumbnailCounts = {};
|
|
const thumbnailToArticles = {};
|
|
|
|
articles.forEach(article => {
|
|
const thumbnail = article.thumbnail || '';
|
|
if (thumbnail) {
|
|
thumbnailCounts[thumbnail] = (thumbnailCounts[thumbnail] || 0) + 1;
|
|
if (!thumbnailToArticles[thumbnail]) {
|
|
thumbnailToArticles[thumbnail] = [];
|
|
}
|
|
thumbnailToArticles[thumbnail].push({
|
|
id: article.id,
|
|
title: article.title.length > 60 ? article.title.substring(0, 60) + '...' : article.title,
|
|
outletId: article.outletId
|
|
});
|
|
}
|
|
});
|
|
|
|
// Find duplicates
|
|
console.log("=== DUPLICATE THUMBNAILS ===");
|
|
let duplicatesFound = false;
|
|
Object.entries(thumbnailCounts)
|
|
.sort((a, b) => b[1] - a[1])
|
|
.forEach(([thumbnail, count]) => {
|
|
if (count > 1) {
|
|
duplicatesFound = true;
|
|
console.log(`\n${thumbnail} (used ${count} times):`);
|
|
thumbnailToArticles[thumbnail].forEach(article => {
|
|
console.log(` - ${article.outletId}: ${article.title} (ID: ${article.id})`);
|
|
});
|
|
}
|
|
});
|
|
|
|
if (!duplicatesFound) {
|
|
console.log("No duplicate thumbnails found!");
|
|
}
|
|
|
|
// Show some stats
|
|
console.log(`\n=== STATISTICS ===`);
|
|
console.log(`Total articles: ${articles.length}`);
|
|
console.log(`Unique thumbnails: ${Object.keys(thumbnailCounts).length}`);
|
|
console.log(`Articles with duplicates: ${Object.values(thumbnailCounts).reduce((sum, count) => sum + (count > 1 ? count : 0), 0)}`); |