Improved Score date handling.
This commit is contained in:
parent
1feb44f95d
commit
5c090c604a
|
|
@ -158,7 +158,7 @@ async function scrapeRelease(baseRelease, entitiesByHostname, type = 'scene') {
|
|||
parameters: getRecursiveParameters(entity),
|
||||
};
|
||||
|
||||
logger.debug(`Memory usage before: ${process.memoryUsage.rss() / 1000000} MB (${baseRelease.url})`);
|
||||
// logger.debug(`Memory usage before: ${process.memoryUsage.rss() / 1000000} MB (${baseRelease.url})`);
|
||||
|
||||
const rawScrapedRelease = type === 'scene'
|
||||
? await fetchScene(layoutScraper, baseRelease.url, entity, baseRelease, options)
|
||||
|
|
@ -179,7 +179,7 @@ async function scrapeRelease(baseRelease, entitiesByHostname, type = 'scene') {
|
|||
|
||||
await waitImmediate;
|
||||
|
||||
logger.debug(`Memory usage after: ${process.memoryUsage.rss() / 1000000} MB (${baseRelease.url})`);
|
||||
// logger.debug(`Memory usage after: ${process.memoryUsage.rss() / 1000000} MB (${baseRelease.url})`);
|
||||
|
||||
const scrapedRelease = rawScrapedRelease?.scene || rawScrapedRelease;
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,49 @@ function resizeSrc(src) {
|
|||
]));
|
||||
}
|
||||
|
||||
function deriveDate(query) {
|
||||
const now = new Date();
|
||||
|
||||
// Nov. 12th
|
||||
const dateMY = query.date('.i-date', 'MMM. YYYY', { match: /(\w+\.? \d{4})/ });
|
||||
|
||||
if (dateMY) {
|
||||
return {
|
||||
date: dateMY,
|
||||
precision: 'month',
|
||||
};
|
||||
}
|
||||
|
||||
const dateMDo = query.date('.i-date', 'MMM. Do', { match: /(\w+\.? \d{1,2}\w+)/ });
|
||||
|
||||
if (dateMDo) {
|
||||
if (dateMDo > now) {
|
||||
dateMDo.setFullYear(now.getFullYear() - 1);
|
||||
}
|
||||
|
||||
return {
|
||||
date: dateMDo,
|
||||
precision: 'day',
|
||||
};
|
||||
}
|
||||
|
||||
const dateAgo = query.dateAgo('.i-date');
|
||||
|
||||
if (dateAgo) {
|
||||
return {
|
||||
date: dateAgo.date,
|
||||
precision: dateAgo.precision === 'week' // not much use for weekly precision
|
||||
? 'month'
|
||||
: dateAgo.precision,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
date: null,
|
||||
precision: null,
|
||||
};
|
||||
}
|
||||
|
||||
function scrapeAll(scenes, channel, parameters) {
|
||||
return scenes.map(({ query }) => {
|
||||
const release = {};
|
||||
|
|
@ -32,16 +75,10 @@ function scrapeAll(scenes, channel, parameters) {
|
|||
release.title = query.content('a.i-title, h2.i-title');
|
||||
release.duration = query.duration('.time-ol');
|
||||
|
||||
release.date = query.date('.i-date', ['MMM. Do', 'MMM. YYYY'], { match: /(\w+\.? \d{1,2}\w+)|(\w+\.? \d{4})/ });
|
||||
const { date, precision } = deriveDate(query);
|
||||
|
||||
if (!release.date) {
|
||||
const date = query.dateAgo('.i-date');
|
||||
|
||||
if (date) {
|
||||
release.date = date.date;
|
||||
release.datePrecision = date.precision === 'week' ? 'month' : date.precision;
|
||||
}
|
||||
}
|
||||
release.date = date;
|
||||
release.datePrecision = precision;
|
||||
|
||||
release.actors = query.content('.i-model').split(',').map((actor) => actor.trim());
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue