From c02241c7528656c2c2fba9befc36628b4db7befb Mon Sep 17 00:00:00 2001 From: Omelette Du Fromage Date: Mon, 9 Nov 2020 01:18:49 -0500 Subject: [PATCH] feat: memoryexpress website support (#717) Adding MemoryExpress website in Canada. Only track the online store stock for now. Might add the stores stock later like microcenter. Only track Ryzen 5000-series for now because RTX 3000-series is only available in store backorder. Co-authored-by: Omelette Du Fromage Co-authored-by: Jef LeCompte --- README.md | 1 + src/store/model/index.ts | 2 ++ src/store/model/memoryexpress.ts | 48 ++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 src/store/model/memoryexpress.ts diff --git a/README.md b/README.md index d8dcbaa446..830d491a0c 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,7 @@ environment variables are **optional**._ | EVGA (EU) | `evga-eu`| | Gamestop | `gamestop`| | Mediamarkt (DE) | `mediamarkt`| +| MemoryExpress (CA) | `memoryexpress`| | Micro Center | `microcenter`| | Mindfactory (DE) | `mindfactory` | | Newegg | `newegg`| diff --git a/src/store/model/index.ts b/src/store/model/index.ts index 0bf78f62f8..13632c0122 100644 --- a/src/store/model/index.ts +++ b/src/store/model/index.ts @@ -31,6 +31,7 @@ import {Evga} from './evga'; import {EvgaEu} from './evga-eu'; import {Gamestop} from './gamestop'; import {Mediamarkt} from './mediamarkt'; +import {MemoryExpress} from './memoryexpress'; import {MicroCenter} from './microcenter'; import {Mindfactory} from './mindfactory'; import {Newegg} from './newegg'; @@ -87,6 +88,7 @@ export const storeList = new Map([ [EvgaEu.name, EvgaEu], [Gamestop.name, Gamestop], [Mediamarkt.name, Mediamarkt], + [MemoryExpress.name, MemoryExpress], [MicroCenter.name, MicroCenter], [Mindfactory.name, Mindfactory], [Newegg.name, Newegg], diff --git a/src/store/model/memoryexpress.ts b/src/store/model/memoryexpress.ts new file mode 100644 index 0000000000..fe8585111b --- /dev/null +++ b/src/store/model/memoryexpress.ts @@ -0,0 +1,48 @@ +import {Store} from './store'; + +export const MemoryExpress: Store = { + labels: { + maxPrice: { + container: '#ProductPricing .GrandTotal.c-capr-pricing__grand-total > div', + euroFormat: false + }, + outOfStock: { + container: '.c-capr-inventory-selector__details-online .c-capr-inventory-store__availability', + text: ['Out of Stock'] + } + }, + links: [ + { + brand: 'test:brand', + model: 'test:model', + series: 'test:series', + url: 'https://www.memoryexpress.com/Products/MX79473' + }, + { + brand: 'amd', + model: '5950x', + series: 'ryzen5950', + url: 'https://www.memoryexpress.com/Products/MX00114450' + }, + { + brand: 'amd', + model: '5900x', + series: 'ryzen5900', + url: 'https://www.memoryexpress.com/Products/MX00114451' + }, + { + brand: 'amd', + model: '5800x', + series: 'ryzen5800', + url: 'https://www.memoryexpress.com/Products/MX00114452' + }, + { + brand: 'amd', + model: '5600x', + series: 'ryzen5600', + url: 'https://www.memoryexpress.com/Products/MX00114455' + } + ], + name: 'memoryexpress', + waitUntil: 'domcontentloaded' +};