Commit Graph

23 Commits

Author SHA1 Message Date
Mario Zechner
f2ef75e5c4 Remove old entries for discount only stores. Closes #102 2023-06-21 16:00:59 +02:00
Mario Zechner
8419689f11 Clean-up, initial Hofer mapping. 2023-06-21 02:43:04 +02:00
Mario Zechner
303d25ccb5 Categories for Billa & Spar, infra to add catgories for other stores.
Billa maps directly to the canonical categories. Spar uses a mapping file stores/spar-categories.json.

Each store has a generateCategoryMapping() function which is called once in analysis.js:updateData() and analysis.js:replay(). The function is responsible for

* Fetching the latest categories
* Merging them with already mapped categories
* Report new categories that haven't been mapped yet
* Report categories that have been mapped but are no longer part of the latest set of categories
* Save the merged mappings to disk

This schema might not work for all stores, in which case updateData() and replay() will use a knn approach to figure out the category for an item. See #81
2023-06-21 01:29:00 +02:00
Mario Zechner
b0edbf88a5 Fix id of dm-de items, category of billa items. 2023-06-19 01:52:20 +02:00
Mario Zechner
d01d984706 Fix binary encoding of unit. 2023-06-18 14:45:35 +02:00
Mario Zechner
898fa44ff1 Add description to items where available, use it in search index. 2023-06-17 20:54:45 +02:00
Mario Zechner
c7537c341e Binary format optimization 4.4mb -> 3.9mb, don't store urls were not needed, use product-id instead of code-internal for spar items, 2023-06-17 01:11:21 +02:00
Mario Zechner
cb93299990 Fix sorting by name similarity, Billa deduplication. 2023-06-06 18:36:55 +02:00
Mario Zechner
a5cd0f5de8 Fetch Billa data by category. Yields more items. Can be used for categorizing other store items, see categorize.js. 2023-06-06 15:15:39 +02:00
Matthias Hochsteger
ce13e6cc1d Units handling for Unimarkt, some clenaup 2023-06-03 15:09:29 +02:00
Mario Zechner
95b1bee3ad Fix "Kilogramm" conversion factor. 2023-06-02 21:28:53 +02:00
Mario Zechner
23f512087e Refactored and fix #55
- `readJson()` now just checks for the file extension to decide whether to uncompress instead of taking a flag.
- moved migration logic from index.js to analysis.js:migrateToGzip
- fixed `restore()` in analysis.js
- also calling `migrateToGzip()` in replay.js
- Fix billa canonicalization for Dossier data
- Fix spar canonicalization for Dossier data and data from 2022.
2023-06-02 18:34:14 +02:00
Mario Zechner
8bf0d65d89
Merge branch 'main' into compress-json 2023-06-02 16:56:22 +02:00
Mario Zechner
c6bbd0e03b Increased maxWidth to 150 in prettier config, formatted all the things. See #52. 2023-06-02 16:45:54 +02:00
Christian Tschugg
02bd7e5ff8 Compress raw data files on disk, fixes badlogic/heissepreise#51 2023-06-02 16:24:58 +02:00
Mario Zechner
a7b645d1cd Fix crash with Dossier data. 2023-05-29 01:08:00 +02:00
Matthias Hochsteger
dbe22ef5e6 Merge remote-tracking branch 'origin/main' into unify_units 2023-05-28 22:31:12 +02:00
Matthias Hochsteger
524ca40307 Convert all weighted articles to 100g/ml 2023-05-28 19:48:06 +02:00
Matthias Hochsteger
c08ad5dd0a isWeighted for billa, hofer, lidl, spar 2023-05-28 19:11:18 +02:00
Matthias Hochsteger
e4a438725d Unify error messages in shops 2023-05-28 18:51:17 +02:00
Matthias Hochsteger
57a203c573 Parse unit and quantity in hofer and billa 2023-05-27 22:12:20 +02:00
Christian Tschugg
a886580469 Refactor UI to generic store syntax 2023-05-26 18:12:29 +02:00
Christian Tschugg
f2ffe5957d Refactor to generic store syntax 2023-05-26 12:45:30 +02:00