[ADD][IMP]ustr casting macro
This commit is contained in:
parent
24fc3f4807
commit
c18e598dfb
@ -24,3 +24,7 @@
|
|||||||
(if (< (get sys.version_info 0) 3)
|
(if (< (get sys.version_info 0) 3)
|
||||||
python2-form
|
python2-form
|
||||||
python3-form))
|
python3-form))
|
||||||
|
|
||||||
|
(defmacro ustr-cast [s]
|
||||||
|
"If python2, return unicode casting, else str casting"
|
||||||
|
(if-python2 `(unicode ~s) `(str ~s)))
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
" XML helpers and macros "
|
" XML helpers and macros "
|
||||||
|
|
||||||
(require [hy-odoo.macros [if-python2]])
|
(require [hy-odoo.macros [if-python2 ustr-cast]])
|
||||||
(import [collections [namedtuple]]
|
(import [collections [namedtuple]]
|
||||||
[functools [partial]]
|
[functools [partial]]
|
||||||
[os [path]]
|
[os [path]]
|
||||||
@ -42,9 +42,7 @@
|
|||||||
(cond [(string? children) (setv (. parent text) children)]
|
(cond [(string? children) (setv (. parent text) children)]
|
||||||
[(instance? XMLDictElement children
|
[(instance? XMLDictElement children
|
||||||
(do
|
(do
|
||||||
(if-python2
|
(setv attrs (dfor [k v] (.items (. children attrs)) [(ustr-cast k) (ustr-cast v)]))
|
||||||
(setv attrs (dfor [k v] (.items (. children attrs)) [(unicode k) (unicode v)]))
|
|
||||||
(setv attrs (dfor [k v] (.items (. children attrs)) [(str k) (str v)])))
|
|
||||||
(setv new-parent (.SubElement ET parent (. children tag) attrs)
|
(setv new-parent (.SubElement ET parent (. children tag) attrs)
|
||||||
subchildren (.children children))
|
subchildren (.children children))
|
||||||
(when subchildren) (xmlchild new-parent subchildren)))]
|
(when subchildren) (xmlchild new-parent subchildren)))]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user