This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
☁ tryton_builder [master] ⚡ wc example.py | |
19 51 398 example.py | |
☁ tryton_builder [master] ⚡ python2 example.py | |
ElementTree was Monkey Patched to suport CDATA | |
☁ tryton_builder [master] ⚡ wc HelloWorld/* | |
12 32 279 HelloWorld/hello.py | |
44 109 1673 HelloWorld/hello.xml | |
6 13 130 HelloWorld/__init__.py | |
6 6 54 HelloWorld/tryton.cfg | |
68 160 2136 total |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Imports, for base primitives | |
from tryton_builder import Module, Model, Field | |
# We create a new module | |
module = Module('HelloWorld') | |
# Two models | |
hello = Model('Hello', 'hello.hello') | |
# Add models to module |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def indent(elem, level=0): | |
i = "\n" + level*" " | |
if len(elem): | |
if not elem.text or not elem.text.strip(): | |
elem.text = i + " " | |
if not elem.tail or not elem.tail.strip(): | |
elem.tail = i | |
for elem in elem: | |
indent(elem, level+1) | |
if not elem.tail or not elem.tail.strip(): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import xml.etree.ElementTree as ET | |
CDATA_KEY = "__CDATA__" #cdata tag name for sustitution | |
def monkey_patch(): | |
"""Monkey Patch ElementTree, to support CDATA""" | |
_serialize_xml = ET._serialize_xml | |
def _serialize_xml_cdata(write, elem, encoding, qnames, namespaces): | |
tag = elem.tag |
NewerOlder