2021-04-19 22:17:36 +00:00
|
|
|
# cookidoo-shopping-advanced
|
|
|
|
|
2021-04-19 22:28:43 +00:00
|
|
|
A Cookidoo Shopping List Scraper and Parser for better results. It can unify and merge all ingredients by different rule sets.
|
|
|
|
|
|
|
|
## Example
|
|
|
|
|
|
|
|
```php
|
|
|
|
// use ...
|
|
|
|
$config = require('config.php');
|
|
|
|
|
|
|
|
$cookidooScraper = new CookidooScraper();
|
|
|
|
$cookidooScraper->login(
|
|
|
|
$config['account']['username'],
|
|
|
|
$config['account']['password']
|
|
|
|
);
|
|
|
|
|
|
|
|
$list = $cookidooScraper->getShopptingList();
|
|
|
|
|
|
|
|
$ruleApplicator = new RuleApplicator();
|
|
|
|
$ruleApplicator->applyRules(
|
|
|
|
$list,
|
|
|
|
[
|
|
|
|
new Rules\Omit(),
|
|
|
|
new Rules\Simplify(),
|
|
|
|
new Rules\MergeSame(),
|
|
|
|
]
|
|
|
|
);
|
|
|
|
|
|
|
|
$categorizedList = $list->getByCategory();
|
|
|
|
// ...
|
|
|
|
```
|
|
|
|
|
|
|
|
## Caching
|
|
|
|
|
|
|
|
You can cache the shopping list as a json file:
|
|
|
|
```php
|
|
|
|
file_put_contents('./list.json', $list->toJson());
|
|
|
|
|
|
|
|
$list = ShoppingList::fromJson(file_get_contents('./list.json'));
|
|
|
|
```
|