From 34510b8c7aabe7c2e69996b3f8ee2ba13366efe7 Mon Sep 17 00:00:00 2001 From: Fabien BOURGEOIS Date: Thu, 18 Feb 2021 19:25:04 +0100 Subject: [PATCH] [ADD]Odoo hydict macro --- hy_odoo/odoo.hy | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hy_odoo/odoo.hy b/hy_odoo/odoo.hy index edaedf0..3a9fafe 100644 --- a/hy_odoo/odoo.hy +++ b/hy_odoo/odoo.hy @@ -43,6 +43,18 @@ value (nth hy-domain 3)) `(, ~field ~op ~value)) +(defmacro hydict [dic] + "Generate dict with mangled keys, from HyDict list" + (setv mangled-dic + (list + (map + (fn [pair] + (if (even? (nth pair 0)) + (mangle (nth pair 1)) + (nth pair 1))) + (enumerate dic)))) + `{~@mangled-dic}) + ; XML helpers functions and macros (defn odoo [&rest args] (xmlroot (xmln "odoo" {} #*args)))