diff --git a/addons/cetmix_tower_yaml/wizards/cx_tower_yaml_import_wiz_upload.py b/addons/cetmix_tower_yaml/wizards/cx_tower_yaml_import_wiz_upload.py new file mode 100644 index 0000000..7544ed9 --- /dev/null +++ b/addons/cetmix_tower_yaml/wizards/cx_tower_yaml_import_wiz_upload.py @@ -0,0 +1 @@ +aW1wb3J0IGJpbmFzY2lpCmZyb20gYmFzZTY0IGltcG9ydCBiNjRkZWNvZGUKCmltcG9ydCB5YW1sCgpmcm9tIG9kb28gaW1wb3J0IF8sIGZpZWxkcywgbW9kZWxzCmZyb20gb2Rvby5leGNlcHRpb25zIGltcG9ydCBWYWxpZGF0aW9uRXJyb3IKCgpjbGFzcyBDeFRvd2VyWWFtbEltcG9ydFdpelVwbG9hZChtb2RlbHMuVHJhbnNpZW50TW9kZWwpOgogICAgIiIiCiAgICBVcGxvYWQgWUFNTCBmaWxlIGFuZCBwZXJmb3JtIGluaXRpYWwgdmFsaWRhdGlvbi4KICAgIFN1Ym1pdCBZQU1MIGRhdGEgdG8gaW1wb3J0IHdpemFyZCBmb3IgZnVydGhlciBwcm9jZXNzaW5nLgogICAgIiIiCgogICAgX25hbWUgPSAiY3gudG93ZXIueWFtbC5pbXBvcnQud2l6LnVwbG9hZCIKICAgIF9kZXNjcmlwdGlvbiA9ICJDZXRtaXggVG93ZXIgWUFNTCBJbXBvcnQgV2l6YXJkIFVwbG9hZCIKCiAgICBmaWxlX25hbWUgPSBmaWVsZHMuQ2hhcigpCiAgICB5YW1sX2ZpbGUgPSBmaWVsZHMuQmluYXJ5KHJlcXVpcmVkPVRydWUpCgogICAgZGVmIGFjdGlvbl9pbXBvcnRfeWFtbChzZWxmKToKICAgICAgICAiIiJQYXJzZSBZQU1MIGRhdGEgdG8gdGhlIGltcG9ydCB3aXphcmQKCiAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgQWN0aW9uIFdpbmRvdzogQWN0aW9uIHRvIG9wZW4gdGhlIGltcG9ydCB3aXphcmQKICAgICAgICAiIiIKCiAgICAgICAgZGVjb2RlZF9maWxlID0gc2VsZi5fZXh0cmFjdF95YW1sX2RhdGEoKQoKICAgICAgICBpbXBvcnRfd2l6YXJkID0gc2VsZi5lbnZbImN4LnRvd2VyLnlhbWwuaW1wb3J0LndpeiJdLmNyZWF0ZSgKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgInlhbWxfY29kZSI6IGRlY29kZWRfZmlsZSwKICAgICAgICAgICAgfQogICAgICAgICkKCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgInR5cGUiOiAiaXIuYWN0aW9ucy5hY3Rfd2luZG93IiwKICAgICAgICAgICAgInJlc19tb2RlbCI6ICJjeC50b3dlci55YW1sLmltcG9ydC53aXoiLAogICAgICAgICAgICAicmVzX2lkIjogaW1wb3J0X3dpemFyZC5pZCwKICAgICAgICAgICAgInZpZXdfbW9kZSI6ICJmb3JtIiwKICAgICAgICAgICAgInRhcmdldCI6ICJuZXciLAogICAgICAgIH0KCiAgICBkZWYgX2V4dHJhY3RfeWFtbF9kYXRhKHNlbGYpOgogICAgICAgICIiIkV4dHJhY3QgZGF0YSBmcm9tIFlBTUwgZmlsZSBhbmQgdmFsaWRhdGUgdGhlbQoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBkZWNvZGVkX2ZpbGUgKFRleHQpOiBZQU1MIGNvZGUKICAgICAgICAgICAgUmFpc2VzOgogICAgICAgICAgICAgICAgVmFsaWRhdGlvbkVycm9yOiBJZiB0aGUgWUFNTCBmaWxlIGlzIGludmFsaWQKICAgICAgICAgICAgICAgIG9yIGNvbnRhaW5zIHVuc3VwcG9ydGVkIGRhdGEKICAgICAgICAiIiIKCiAgICAgICAgc2VsZi5lbnN1cmVfb25lKCkKCiAgICAgICAgIyBEZWNvZGUgYmFzZTY0IGZpbGUKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJhd19ieXRlcyA9IGI2NGRlY29kZShzZWxmLnlhbWxfZmlsZSBvciBiIiIpCiAgICAgICAgZXhjZXB0IChUeXBlRXJyb3IsIGJpbmFzY2lpLkVycm9yKSBhcyBlOgogICAgICAgICAgICAjIE5vdCBhIHZhbGlkIGJhc2UtNjQgcGF5bG9hZAogICAgICAgICAgICByYWlzZSBWYWxpZGF0aW9uRXJyb3IoXygiRmlsZSBpcyBub3QgYSB2YWxpZCBiYXNlNjQtZW5jb2RlZCBmaWxlIikpIGZyb20gZQoKICAgICAgICBpZiBub3QgcmF3X2J5dGVzOgogICAgICAgICAgICByYWlzZSBWYWxpZGF0aW9uRXJyb3IoXygiRmlsZSBpcyBlbXB0eSIpKQoKICAgICAgICB0cnk6CiAgICAgICAgICAgIGRlY29kZWRfZmlsZSA9IHJhd19ieXRlcy5kZWNvZGUoInV0Zi04IikKICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yIGFzIGU6CiAgICAgICAgICAgIHJhaXNlIFZhbGlkYXRpb25FcnJvcihfKCJZQU1MIGZpbGUgY2Fubm90IGJlIGRlY29kZWQgcHJvcGVybHkiKSkgZnJvbSBlCgogICAgICAgICMgUGFyc2UgWUFNTCBmaWxlCiAgICAgICAgdHJ5OgogICAgICAgICAgICB5YW1sX2RhdGEgPSB5YW1sLnNhZmVfbG9hZChkZWNvZGVkX2ZpbGUpCiAgICAgICAgZXhjZXB0IHlhbWwuWUFNTEVycm9yIGFzIGU6CiAgICAgICAgICAgIHJhaXNlIFZhbGlkYXRpb25FcnJvcihfKCJJbnZhbGlkIFlBTUwgZmlsZSIpKSBmcm9tIGUKCiAgICAgICAgaWYgbm90IHlhbWxfZGF0YSBvciBub3QgaXNpbnN0YW5jZSh5YW1sX2RhdGEsIGRpY3QpOgogICAgICAgICAgICByYWlzZSBWYWxpZGF0aW9uRXJyb3IoXygiWWFtbCBmaWxlIGRvZXNuJ3QgY29udGFpbiB2YWxpZCBkYXRhIikpCgogICAgICAgICMgQ2hlY2sgQ2V0bWl4IFRvd2VyIFlBTUwgdmVyc2lvbgogICAgICAgIHlhbWxfdmVyc2lvbiA9IHlhbWxfZGF0YS5wb3AoImNldG1peF90b3dlcl95YW1sX3ZlcnNpb24iLCBOb25lKQogICAgICAgIHN1cHBvcnRlZF92ZXJzaW9uID0gc2VsZi5lbnZbImN4LnRvd2VyLnlhbWwubWl4aW4iXS5DRVRNSVhfVE9XRVJfWUFNTF9WRVJTSU9OCiAgICAgICAgaWYgKAogICAgICAgICAgICB5YW1sX3ZlcnNpb24KICAgICAgICAgICAgYW5kIGlzaW5zdGFuY2UoeWFtbF92ZXJzaW9uLCBpbnQpCiAgICAgICAgICAgIGFuZCB5YW1sX3ZlcnNpb24gPiBzdXBwb3J0ZWRfdmVyc2lvbgogICAgICAgICk6CiAgICAgICAgICAgIHJhaXNlIFZhbGlkYXRpb25FcnJvcigKICAgICAgICAgICAgICAgIF8oCiAgICAgICAgICAgICAgICAgICAgIllBTUwgdmVyc2lvbiBpcyBoaWdoZXIgdGhhbiB2ZXJzaW9uIgogICAgICAgICAgICAgICAgICAgICIgc3VwcG9ydGVkIGJ5IHlvdXIgQ2V0bWl4IFRvd2VyIGluc3RhbmNlLiIKICAgICAgICAgICAgICAgICAgICAiICUoY29kZV92ZXJzaW9uKXMgPiAlKHRvd2VyX3ZlcnNpb24pcyIsCiAgICAgICAgICAgICAgICAgICAgY29kZV92ZXJzaW9uPXlhbWxfdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICB0b3dlcl92ZXJzaW9uPXN1cHBvcnRlZF92ZXJzaW9uLAogICAgICAgICAgICAgICAgKQogICAgICAgICAgICApCgogICAgICAgICMgR2V0IHJlY29yZHMgZnJvbSBZQU1MCiAgICAgICAgcmVjb3JkcyA9IHlhbWxfZGF0YS5nZXQoInJlY29yZHMiKQogICAgICAgIGlmIG5vdCByZWNvcmRzOgogICAgICAgICAgICByYWlzZSBWYWxpZGF0aW9uRXJyb3IoXygiWUFNTCBmaWxlIGRvZXNuJ3QgY29udGFpbiBhbnkgcmVjb3JkcyIpKQoKICAgICAgICAjIENvbGxlY3QgYW5kIHZhbGlkYXRlIGFsbCByZWNvcmQgbW9kZWxzCiAgICAgICAgaXJfbW9kZWxfb2JqID0gc2VsZi5lbnZbImlyLm1vZGVsIl0KICAgICAgICB1bmlxdWVfbW9kZWxzID0ge30KCiAgICAgICAgIyBGaXJzdCBwYXNzOiBjaGVjayBhbGwgcmVjb3JkcyBoYXZlIG1vZGVscyBhbmQgY29sbGVjdCB1bmlxdWUgbW9kZWxzCiAgICAgICAgZm9yIHJlY29yZCBpbiByZWNvcmRzOgogICAgICAgICAgICByZWNvcmRfbW9kZWwgPSByZWNvcmQuZ2V0KCJjZXRtaXhfdG93ZXJfbW9kZWwiKQogICAgICAgICAgICBpZiBub3QgcmVjb3JkX21vZGVsOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsaWRhdGlvbkVycm9yKAogICAgICAgICAgICAgICAgICAgIF8oCiAgICAgICAgICAgICAgICAgICAgICAgICJSZWNvcmQgbW9kZWwgaXMgbWlzc2luZyBmb3IgcmVjb3JkICVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmdldCgicmVmZXJlbmNlIiwgIiIpLAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgaWYgcmVjb3JkX21vZGVsIG5vdCBpbiB1bmlxdWVfbW9kZWxzOgogICAgICAgICAgICAgICAgb2Rvb19tb2RlbCA9IGYiY3gudG93ZXIue3JlY29yZF9tb2RlbH0iLnJlcGxhY2UoIl8iLCAiLiIpCiAgICAgICAgICAgICAgICB1bmlxdWVfbW9kZWxzW3JlY29yZF9tb2RlbF0gPSBvZG9vX21vZGVsCgogICAgICAgICMgU2Vjb25kIHBhc3M6IHZhbGlkYXRlIGFsbCB1bmlxdWUgbW9kZWxzIGluIGEgc2luZ2xlIHF1ZXJ5CiAgICAgICAgb2Rvb19tb2RlbHMgPSBsaXN0KHVuaXF1ZV9tb2RlbHMudmFsdWVzKCkpCiAgICAgICAgdmFsaWRfbW9kZWxzID0gewogICAgICAgICAgICBtb2RlbC5tb2RlbDogbW9kZWwKICAgICAgICAgICAgZm9yIG1vZGVsIGluIGlyX21vZGVsX29iai5zZWFyY2goWygibW9kZWwiLCAiaW4iLCBvZG9vX21vZGVscyldKQogICAgICAgIH0KCiAgICAgICAgIyBUaGlyZCBwYXNzOiBjaGVjayBtb2RlbHMgZXhpc3QgYW5kIHN1cHBvcnQgWUFNTCBpbXBvcnQKICAgICAgICBmb3IgcmVjb3JkX21vZGVsLCBvZG9vX21vZGVsIGluIHVuaXF1ZV9tb2RlbHMuaXRlbXMoKToKICAgICAgICAgICAgaWYgb2Rvb19tb2RlbCBub3QgaW4gdmFsaWRfbW9kZWxzOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsaWRhdGlvbkVycm9yKF8oIiclcycgaXMgbm90IGEgdmFsaWQgbW9kZWwiLCByZWNvcmRfbW9kZWwpKQogICAgICAgICAgICBpZiBub3QgaGFzYXR0cihzZWxmLmVudltvZG9vX21vZGVsXSwgInlhbWxfY29kZSIpOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsaWRhdGlvbkVycm9yKAogICAgICAgICAgICAgICAgICAgIF8oIk1vZGVsICclcycgZG9lcyBub3Qgc3VwcG9ydCBZQU1MIGltcG9ydCIsIHJlY29yZF9tb2RlbCkKICAgICAgICAgICAgICAgICkKICAgICAgICByZXR1cm4gZGVjb2RlZF9maWxlCg== \ No newline at end of file