odoo/upgrade-util#231

Created by Upgrade, Alvaro Fuentes Suarez (afu)
Merged at 2f5a79a7ca368c7be1b446baa1a356d6de8705c3

Statuses:

label
odoo-dev:master-imp_literal_replace2-afu
head
f070537f1b7eee5eb52d76445fce4ce802709f92
merged
1 day ago by Upgrade, Christophe Simonis (chs)
odoo/upgrade-util
master #231

[IMP] util/misc: dynamic literal_replace

Allow to match in a glob-like fashion and produce the replacement node
dynamically.

Improvements:
* Do not replace if no match happens (allows to write less to the DB.)
* Do not buble syntax errors, log instead.
* Most valid nodes for Python expressions in the ORM are covered.
* Implement node matching in same order as the reference below.
* Much higher test coverage.
* Adapt tests for Python3.6 (Odoo 13 and 14)