refactor: simplify max price

Ref: https://github.com/jef/streetmerchant/pull/696#issuecomment-722784373
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
This commit is contained in:
Jef LeCompte
2020-11-05 23:16:58 -05:00
parent df3b10b9a5
commit 85208c4452
3 changed files with 9 additions and 25 deletions
+5 -4
View File
@@ -251,10 +251,11 @@ const store = {
3070: envOrNumber(process.env.MAX_PRICE_SERIES_3070), 3070: envOrNumber(process.env.MAX_PRICE_SERIES_3070),
3080: envOrNumber(process.env.MAX_PRICE_SERIES_3080), 3080: envOrNumber(process.env.MAX_PRICE_SERIES_3080),
3090: envOrNumber(process.env.MAX_PRICE_SERIES_3090), 3090: envOrNumber(process.env.MAX_PRICE_SERIES_3090),
5600: envOrNumber(process.env.MAX_PRICE_SERIES_5600x), ryzen5600: envOrNumber(process.env.MAX_PRICE_SERIES_5600x),
5800: envOrNumber(process.env.MAX_PRICE_SERIES_5800x), ryzen5800: envOrNumber(process.env.MAX_PRICE_SERIES_5800x),
5900: envOrNumber(process.env.MAX_PRICE_SERIES_5900x), ryzen5900: envOrNumber(process.env.MAX_PRICE_SERIES_5900x),
5950: envOrNumber(process.env.MAX_PRICE_SERIES_5950x) ryzen5950: envOrNumber(process.env.MAX_PRICE_SERIES_5950x),
'test:series': -1
} }
}, },
microCenterLocation: envOrArray(process.env.MICROCENTER_LOCATION, ['web']), microCenterLocation: envOrArray(process.env.MICROCENTER_LOCATION, ['web']),
+2 -2
View File
@@ -89,8 +89,8 @@ export function includesLabels(domText: string, searchLabels: string[]): boolean
return searchLabels.some(label => domTextLowerCase.includes(label.toLowerCase())); return searchLabels.some(label => domTextLowerCase.includes(label.toLowerCase()));
} }
export async function cardPrice(page: Page, query: Pricing, max: number, options: Selector) { export async function cardPrice(page: Page, query: Pricing, max: number, options: Selector): Promise<number | null> {
if (!max) { if (!max || max === -1) {
return null; return null;
} }
+2 -19
View File
@@ -159,25 +159,8 @@ async function lookupCardInStock(store: Store, page: Page, link: Link) {
} }
if (store.labels.maxPrice) { if (store.labels.maxPrice) {
let price; const price = await cardPrice(page, store.labels.maxPrice, config.store.maxPrice.series[link.series], baseOptions);
let maxPrice = 0; const maxPrice = config.store.maxPrice.series[link.series];
switch (link.series) {
case '3070':
price = await cardPrice(page, store.labels.maxPrice, config.store.maxPrice.series['3070'], baseOptions);
maxPrice = config.store.maxPrice.series['3070'];
break;
case '3080':
price = await cardPrice(page, store.labels.maxPrice, config.store.maxPrice.series['3080'], baseOptions);
maxPrice = config.store.maxPrice.series['3080'];
break;
case '3090':
price = await cardPrice(page, store.labels.maxPrice, config.store.maxPrice.series['3090'], baseOptions);
maxPrice = config.store.maxPrice.series['3090'];
break;
default:
break;
}
if (price) { if (price) {
logger.info(Print.maxPrice(link, store, price, maxPrice, true)); logger.info(Print.maxPrice(link, store, price, maxPrice, true));
return false; return false;