🔧 Flattened the array of volumes returned from the recursive search call to CV
This commit is contained in:
@@ -191,14 +191,13 @@ export default class ComicVineService extends Service {
|
|||||||
output.push(...data.results);
|
output.push(...data.results);
|
||||||
|
|
||||||
// 1a. Run the current batch of volumes through the matcher
|
// 1a. Run the current batch of volumes through the matcher
|
||||||
// Check for: issue year falling in the range of the volume run
|
|
||||||
rankVolumes(output, params.scorerConfiguration);
|
rankVolumes(output, params.scorerConfiguration);
|
||||||
currentPage += 1;
|
currentPage += 1;
|
||||||
params.page = currentPage;
|
params.page = currentPage;
|
||||||
console.log(`Fetching results for page ${currentPage}...`);
|
console.log(`Fetching results for page ${currentPage}...`);
|
||||||
return await this.fetchVolumesFromCV(params, output);
|
return await this.fetchVolumesFromCV(params, output);
|
||||||
} else {
|
} else {
|
||||||
return output;
|
return { ...output };
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -93,28 +93,39 @@ export const rankVolumes = (volumes: any, scorerConfiguration: any) => {
|
|||||||
scorerConfiguration.searchParams.searchTerms.number,
|
scorerConfiguration.searchParams.searchTerms.number,
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
let count = 0;
|
|
||||||
const issueYear = parseISO(
|
const issueYear = parseISO(
|
||||||
scorerConfiguration.searchParams.searchTerms.year
|
scorerConfiguration.searchParams.searchTerms.year
|
||||||
);
|
);
|
||||||
volumes.map(async (volume: any, idx: number) => {
|
volumes.map(async (volume: any, idx: number) => {
|
||||||
const volumeStartYear = parseISO(volume.start_year);
|
const volumeStartYear = !isNil(volume.start_year)
|
||||||
const firstIssueNumber = parseInt(volume.first_issue.issue_number, 10);
|
? parseISO(volume.start_year)
|
||||||
const lastIssueNumber = parseInt(volume.last_issue.issue_number, 10);
|
: null;
|
||||||
const issueNameMatchScore = stringSimilarity.compareTwoStrings(scorerConfiguration.searchParams.searchTerms.name, volume.name);
|
const firstIssueNumber = !isNil(volume.first_issue)
|
||||||
|
? parseInt(volume.first_issue.issue_number, 10)
|
||||||
|
: null;
|
||||||
|
const lastIssueNumber = !isNil(volume.last_issue)
|
||||||
|
? parseInt(volume.last_issue.issue_number, 10)
|
||||||
|
: null;
|
||||||
|
const issueNameMatchScore = stringSimilarity.compareTwoStrings(
|
||||||
|
scorerConfiguration.searchParams.searchTerms.name,
|
||||||
|
volume.name
|
||||||
|
);
|
||||||
if (
|
if (
|
||||||
|
!isNil(volumeStartYear) &&
|
||||||
|
!isNil(firstIssueNumber) &&
|
||||||
|
!isNil(lastIssueNumber) &&
|
||||||
|
!isNil(issueNameMatchScore) &&
|
||||||
(isSameYear(issueYear, volumeStartYear) ||
|
(isSameYear(issueYear, volumeStartYear) ||
|
||||||
isAfter(issueYear, volumeStartYear)) &&
|
isAfter(issueYear, volumeStartYear)) &&
|
||||||
(firstIssueNumber <= issueNumber &&
|
firstIssueNumber <= issueNumber &&
|
||||||
issueNumber <= lastIssueNumber) &&
|
issueNumber <= lastIssueNumber &&
|
||||||
issueNameMatchScore > 0.5
|
issueNameMatchScore > 0.5
|
||||||
) {
|
) {
|
||||||
count += 1;
|
|
||||||
console.log("issue name match score", issueNameMatchScore);
|
console.log("issue name match score", issueNameMatchScore);
|
||||||
console.log(volume);
|
console.log(volume);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
console.log("final count ", count);
|
return volumes;
|
||||||
};
|
};
|
||||||
|
|
||||||
const calculateLevenshteinDistance = async (match: any, rawFileDetails: any) =>
|
const calculateLevenshteinDistance = async (match: any, rawFileDetails: any) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user