diff --git a/.env-example b/.env-example index 5f190c6..78428c1 100644 --- a/.env-example +++ b/.env-example @@ -20,6 +20,7 @@ LOW_BANDWIDTH="" MAX_PRICE_SERIES_3070="" MAX_PRICE_SERIES_3080="" MAX_PRICE_SERIES_3090="" +MAX_PRICE_SERIES_CORSAIR_SF="" MAX_PRICE_SERIES_RX6800="" MAX_PRICE_SERIES_RX6800XT="" MAX_PRICE_SERIES_RX6900XT="" @@ -27,7 +28,8 @@ MAX_PRICE_SERIES_RYZEN5600="" MAX_PRICE_SERIES_RYZEN5800="" MAX_PRICE_SERIES_RYZEN5900="" MAX_PRICE_SERIES_RYZEN5950="" -MAX_PRICE_CORSAIR_SF="" +MAX_PRICE_SERIES_SONYPS5C="" +MAX_PRICE_SERIES_SONYPS5DE="" MICROCENTER_LOCATION="" MQTT_BROKER_ADDRESS="" MQTT_BROKER_PORT="" diff --git a/README.md b/README.md index 1b47f04..28b5353 100644 --- a/README.md +++ b/README.md @@ -117,11 +117,13 @@ environment variables are **optional**._ | `MAX_PRICE_SERIES_3070` | Maximum price allowed for a match, applies 3070 series cards (does not apply to these sites: Nvidia, Asus, EVGA) | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - Cards above `1234` will be skipped. | | `MAX_PRICE_SERIES_3080` | Maximum price allowed for a match, applies 3080 series cards (does not apply to these sites: Nvidia, Asus, EVGA) | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - Cards above `1234` will be skipped. | | `MAX_PRICE_SERIES_3090` | Maximum price allowed for a match, applies 3090 series cards (does not apply to these sites: Nvidia, Asus, EVGA) | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - Cards above `1234` will be skipped. | +| `MAX_PRICE_SERIES_CORSAIR_SF` | Maximum price allowed for a match, applies to Corsair PSUs | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - PSUs above `1234` will be skipped. | | `MAX_PRICE_SERIES_RYZEN5600` | Maximum price allowed for a match, applies AMD 5600 series cpus | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - CPUs above `1234` will be skipped. | | `MAX_PRICE_SERIES_RYZEN5800` | Maximum price allowed for a match, applies AMD 5800 series cpus | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - CPUs above `1234` will be skipped. | | `MAX_PRICE_SERIES_RYZEN5900` | Maximum price allowed for a match, applies AMD 5900 series cpus | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - CPUs above `1234` will be skipped. | | `MAX_PRICE_SERIES_RYZEN5950` | Maximum price allowed for a match, applies AMD 5950 series cpus | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - CPUs above `1234` will be skipped. | -| `MAX_PRICE_SERIES_CORSAIR_SF` | Maximum price allowed for a match, applies to Corsair PSUs | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - PSUs above `1234` will be skipped. | +| `MAX_PRICE_SERIES_SONYPS5C` | Maximum price allowed for a match, applies PS5 console | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - PS5 above `1234` will be skipped. | +| `MAX_PRICE_SERIES_SONYPS5DE` | Maximum price allowed for a match, applies PS5 digital edition | Default: leave empty for no limit, otherwise enter a price (enter whole dollar amounts only, avoid use of: dollar symbols, commas, and periods.) e.g.: `1234` - PS5 above `1234` will be skipped. | | `MICROCENTER_LOCATION` | Specific MicroCenter location(s) to search | Comma separated, e.g.: `marietta,duluth`, default: `web` | | `NVIDIA_ADD_TO_CART_ATTEMPTS` | The maximum number of times the `nvidia-api` add to cart feature will be attempted before failing | Default: `10` | | `NVIDIA_SESSION_TTL` | The time in milliseconds to keep the cart active while using `nvidia-api` | Default: `60000` | @@ -172,6 +174,7 @@ environment variables are **optional**._ | Currys (UK) | `currys`| | Cyberport (DE) | `cyberport` | | eBuyer (UK) | `ebuyer`| +| ePrice (IT) | `eprice`| | Euronics (IT) | `euronics`| | EVGA | `evga`| | EVGA (EU) | `evga-eu`| diff --git a/src/config.ts b/src/config.ts index 1c87174..c8589c6 100644 --- a/src/config.ts +++ b/src/config.ts @@ -318,8 +318,8 @@ const store = { ryzen5900: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5900), ryzen5950: envOrNumber(process.env.MAX_PRICE_SERIES_RYZEN5950), sf: envOrNumber(process.env.MAX_PRICE_SERIES_CORSAIR_SF), - sonyps5c: -1, - sonyps5de: -1, + sonyps5c: envOrNumber(process.env.MAX_PRICE_SERIES_SONYPS5C), + sonyps5de: envOrNumber(process.env.MAX_PRICE_SERIES_SONYPS5DE), 'test:series': -1, xboxss: -1, xboxsx: -1 diff --git a/src/store/model/eprice.ts b/src/store/model/eprice.ts new file mode 100644 index 0000000..2e72c1f --- /dev/null +++ b/src/store/model/eprice.ts @@ -0,0 +1,77 @@ +import {Store} from './store'; + +export const Eprice: Store = { + labels: { + inStock: { + container: '.form_aggiungi_articolo', + text: ['AGGIUNGI AL CARRELLO'] + }, + maxPrice: { + container: '#PrezzoClasic span[class*="big"]', + euroFormat: true + } + }, + links: [ + { + brand: 'msi', + model: 'ventus 3x oc', + series: '3070', + url: 'https://www.eprice.it/schede-video-MSI/d-14039974' + }, + { + brand: 'asus', + model: 'dual', + series: '3070', + url: 'https://www.eprice.it/schede-video-ASUS/d-14042082' + }, + { + brand: 'asus', + model: 'strix', + series: '3070', + url: 'https://www.eprice.it/schede-video-ASUS/d-14039878' + }, + { + brand: 'asus', + model: 'tuf', + series: '3070', + url: 'https://www.eprice.it/schede-video-ASUS/d-14039876' + }, + { + brand: 'msi', + model: 'gaming', + series: '3070', + url: 'https://www.eprice.it/schede-video-MSI/d-14039972' + }, + { + brand: 'msi', + model: 'ventus 3x oc', + series: '3070', + url: 'https://www.eprice.it/schede-video-MSI/d-14039974' + }, + { + brand: 'msi', + model: 'ventus 2x oc', + series: '3070', + url: 'https://www.eprice.it/schede-video-MSI/d-14039973' + }, + { + brand: 'zotac', + model: 'gaming', + series: '3070', + url: 'https://www.eprice.it/schede-video-ZOTAC/d-13979806' + }, + { + brand: 'sony', + model: 'ps5 console', + series: 'sonyps5c', + url: 'https://www.eprice.it/playstation-5-SONY/d-13981612' + }, + { + brand: 'sony', + model: 'ps5 digital', + series: 'sonyps5de', + url: 'https://www.eprice.it/playstation-5-SONY/d-13981613' + } + ], + name: 'eprice' +}; diff --git a/src/store/model/index.ts b/src/store/model/index.ts index 80c0d94..5b45c1b 100644 --- a/src/store/model/index.ts +++ b/src/store/model/index.ts @@ -34,6 +34,7 @@ import {Corsair} from './corsair'; import {Currys} from './currys'; import {Cyberport} from './cyberport'; import {Ebuyer} from './ebuyer'; +import {Eprice} from './eprice'; import {Euronics} from './euronics'; import {Evga} from './evga'; import {EvgaEu} from './evga-eu'; @@ -107,6 +108,7 @@ export const storeList = new Map([ [Currys.name, Currys], [Cyberport.name, Cyberport], [Ebuyer.name, Ebuyer], + [Eprice.name, Eprice], [Euronics.name, Euronics], [Evga.name, Evga], [EvgaEu.name, EvgaEu],