Book Descriptor
Problem:
I help run several WooCommerce online shops for indie bookshops in the UK, due to a ridiculous set of circumstances description information is often missing from initial imports of stock and has to be sourced & imported separately. And to-boot, it’s all based on CSV sheets that refuse to use modern encoding.
Solution:
https://github.com/OliPassey/BookDescriptor
I wrote some python that downloads a list of products from the WooCommerce API, imports a source of description information from a local CSV sheet and does matching – where it finds a match it sends a description via the API.
To make the system user friendly I built a simple GUI with log output, so a non-technical user can run it daily and understand it’s output should errors occur.

To use the code, clone the repo, create API credentials for Woo and pass them into config.json, then run gui.py & hit start.
You can use variables in the gui.py to set how many produts are downloaded and assessed for updates – in the first few runs you will likely want this set quite high, but then reduce it to only cover recent imports. I started with all records on the site and reduced down to last 200 products. Your mileage may vary.

If you have to manage multiple sites, create multiple config.json files and then just change the name on line 20. On line 48 you can set how many products to download, keep products per page a maximum of 100 as i think that is the limit of the API.