Improved missing gfycat handling. Added 'preview' marker to index.
This commit is contained in:
parent
e48892126f
commit
b05ae06b00
|
@ -21,7 +21,7 @@ const attachContentInfo = users => {
|
|||
if(config.fetch.archives.preview && post.preview) {
|
||||
console.log(`Found preview images for unavailable source '${post.url}' (${post.permalink})`);
|
||||
|
||||
return [...accPosts, {...post, content: await methods.redditPreview(post)}];
|
||||
return [...accPosts, {...post, previewFallback: true, content: await methods.redditPreview(post)}];
|
||||
}
|
||||
|
||||
return accPosts;
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
'use strict';
|
||||
'use strict';
|
||||
|
||||
const util = require('util');
|
||||
const config = require('config');
|
||||
const fetch = require('node-fetch');
|
||||
|
||||
function gfycat(post) {
|
||||
return fetch(`https://gfycat.com/cajax/get/${post.host.id}`).then(res => res.json()).then(res => {
|
||||
return {
|
||||
album: null,
|
||||
items: [{
|
||||
id: res.gfyItem.gfyName,
|
||||
url: res.gfyItem.webmUrl,
|
||||
title: res.gfyItem.title,
|
||||
description: res.gfyItem.description,
|
||||
type: 'video/webm',
|
||||
datetime: new Date(res.gfyItem.createDate * 1000),
|
||||
original: res.gfyItem
|
||||
}]
|
||||
};
|
||||
}).catch(error => {
|
||||
console.error(error);
|
||||
});
|
||||
};
|
||||
async function gfycat(post) {
|
||||
const res = await fetch(`https://gfycat.com/cajax/get/${post.host.id}`);
|
||||
const data = await res.json();
|
||||
|
||||
if (data.error) {
|
||||
throw new Error(data.error);
|
||||
}
|
||||
|
||||
return {
|
||||
album: null,
|
||||
items: [{
|
||||
id: data.gfyItem.gfyName,
|
||||
url: data.gfyItem.webmUrl,
|
||||
title: data.gfyItem.title,
|
||||
description: data.gfyItem.description,
|
||||
type: 'video/webm',
|
||||
datetime: new Date(data.gfyItem.createDate * 1000),
|
||||
original: data.gfyItem,
|
||||
}],
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = gfycat;
|
||||
|
|
|
@ -10,16 +10,24 @@ async function writeToIndex(posts, profilePaths, user) {
|
|||
const filename = interpolate(config.library.index.file, user, null, false);
|
||||
const now = new Date();
|
||||
|
||||
const newAndUpdatedEntries = posts.concat(user.indexed.updated).map(post => ({
|
||||
id: post.id,
|
||||
subreddit: post.subreddit,
|
||||
permalink: post.permalink,
|
||||
url: post.url,
|
||||
hostId: post.host.id,
|
||||
date: post.datetime,
|
||||
indexed: now,
|
||||
title: post.title,
|
||||
}));
|
||||
const newAndUpdatedEntries = posts.concat(user.indexed.updated).map((post) => {
|
||||
const entryPost = {
|
||||
id: post.id,
|
||||
subreddit: post.subreddit,
|
||||
permalink: post.permalink,
|
||||
url: post.url,
|
||||
hostId: post.host.id,
|
||||
date: post.datetime,
|
||||
indexed: now,
|
||||
title: post.title,
|
||||
};
|
||||
|
||||
if (post.previewFallback) {
|
||||
entryPost.preview = true;
|
||||
}
|
||||
|
||||
return entryPost;
|
||||
});
|
||||
|
||||
const data = {
|
||||
profile: {
|
||||
|
|
Loading…
Reference in New Issue