Add readme
This commit is contained in:
parent
544f902793
commit
4aed85ebae
1 changed files with 90 additions and 0 deletions
90
README.md
Normal file
90
README.md
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
RevBank Inflatinator
|
||||||
|
====================
|
||||||
|
|
||||||
|
Dit programma werkt de productlijst van [RevBank](https://github.com/revspace/revbank/) bij om de
|
||||||
|
verkoopprijzen actueel te houden op basis van de inkoopprijzen.
|
||||||
|
|
||||||
|
Er zijn scrapers voor deze supermarkten:
|
||||||
|
|
||||||
|
* Albert Heijn
|
||||||
|
* Sligro
|
||||||
|
|
||||||
|
|
||||||
|
## Installatie
|
||||||
|
Doe een git clone en zorg dat het om de zo veel tijd draait met bijvoorbeeld een Systemd Timer:
|
||||||
|
```
|
||||||
|
# /etc/systemd/system/revbank-inflatinator.service
|
||||||
|
[Unit]
|
||||||
|
Description=Update product prices in Revbank
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/python3 /opt/revbank-inflatinator/inflatinator/ /home/bank/revbank.products
|
||||||
|
EnvironmentFile=/etc/revbank-inflatinator/env.conf
|
||||||
|
User=bank
|
||||||
|
Group=bank
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
# /etc/systemd/system/revbank-inflatinator.timer
|
||||||
|
[Unit]
|
||||||
|
Description=Run revbank-inflatinator weekly
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=weekly
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuratie
|
||||||
|
De metadata voor producten scrapen is afhankelijk van een patch voor RevBank die niet upstream is en
|
||||||
|
er ook niet gaat komen in de huidige vorm.
|
||||||
|
Zie: https://github.com/revspace/revbank/pull/18
|
||||||
|
|
||||||
|
Er is wel de intentie om dit upstream te laten werken, maar niet in de huidige vorm. Wanneer je
|
||||||
|
Inflatinator bijwerkt is het handig om te controlleren of je de configuratie moet bijwerken.
|
||||||
|
|
||||||
|
De scrapemetadata komt aan het einde van een productregel in commentaarm et een `#`. Inflatinator
|
||||||
|
zal regels herschrijven met nieuwe prijzen en producttitels en eventueel nieuwe barcodes. Aliassen
|
||||||
|
en barcodes die je zelf toegevoegd blijven staan.
|
||||||
|
|
||||||
|
### Albert Heijn
|
||||||
|
Zie hier onder voorbeelden van de metadata die toegevoegd moet worden per product:
|
||||||
|
|
||||||
|
```
|
||||||
|
8711327538481 0.80 Ola Liuk # ah:wi162664 8x
|
||||||
|
8712100340666 0.45 Ola Raket # ah:wi209562 12x
|
||||||
|
```
|
||||||
|
|
||||||
|
De `wi162664` is de SKU van hoe het product heet op de website van de AH, je vind deze in de URL
|
||||||
|
van de productpagina.
|
||||||
|
|
||||||
|
De `8x` daar achteraan is het aantal individuele producten per verpakking. Dit is niet heel
|
||||||
|
betrouwbaar terug te vinden op de pagina, dus je zult het zelf moeten opzoeken.
|
||||||
|
|
||||||
|
Het is valide om alleen de metadata op een regel te hebben om mee te starten, Inflatinator zal zelf
|
||||||
|
de barcode, prijs en titel aanvullen.
|
||||||
|
|
||||||
|
|
||||||
|
### Sligro
|
||||||
|
Het verkrijgen van de prijzen van de Sligro vereist een account. Je configureert deze met
|
||||||
|
environment variables:
|
||||||
|
```
|
||||||
|
SLIGRO_USERNAME=<email>
|
||||||
|
SLIGRO_PASSWORD=<wachtwoord>
|
||||||
|
```
|
||||||
|
|
||||||
|
Sligro producten zien er zo uit:
|
||||||
|
```
|
||||||
|
5000112659184,5000112658873 0.95 Coca-Cola Cola Zero Sugar (33 cl) # sligro
|
||||||
|
4011100240216,40111216 0.80 Bounty Kokos Melk Chocolade Singles (57 gram) # sligro
|
||||||
|
```
|
||||||
|
|
||||||
|
Alleen een `# sligro` aan het einde van de regel is voldoende, Inflatinator gebruikt de **eerste**
|
||||||
|
barcode om het product te vinden op de website.
|
||||||
|
|
||||||
|
Verpakkingen van de Sligro hebben over het algemeen producten hier in zitten die een andere
|
||||||
|
barcode hebben dan de verpakking. Inflatinator schrijft beide barcodes naar dezelfde productregel.
|
||||||
|
Zo kunnen producten ook afgerekend worden door de doos te scannen.
|
Loading…
Add table
Reference in a new issue