From c470e9603fb7e8149411b44411b88613b39cee25 Mon Sep 17 00:00:00 2001 From: git_admin Date: Mon, 27 Apr 2026 06:53:03 +0000 Subject: [PATCH] Tower: upload cetmix_tower_server 16.0.3.0.1 (via marketplace) --- addons/cetmix_tower_server/models/cx_tower_tag_mixin.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 addons/cetmix_tower_server/models/cx_tower_tag_mixin.py diff --git a/addons/cetmix_tower_server/models/cx_tower_tag_mixin.py b/addons/cetmix_tower_server/models/cx_tower_tag_mixin.py new file mode 100644 index 0000000..0b6e325 --- /dev/null +++ b/addons/cetmix_tower_server/models/cx_tower_tag_mixin.py @@ -0,0 +1 @@ +IyBDb3B5cmlnaHQgKEMpIDIwMjUgQ2V0bWl4IE/DnAojIExpY2Vuc2UgQUdQTC0zLjAgb3IgbGF0ZXIgKGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsKS4KZnJvbSBvZG9vIGltcG9ydCBmaWVsZHMsIG1vZGVscwoKCmNsYXNzIEN4VG93ZXJUYWdNaXhpbihtb2RlbHMuQWJzdHJhY3RNb2RlbCk6CiAgICAiIiIKICAgIENldG1peCBUb3dlciBUYWcgTWl4aW4uCiAgICBVc2VkIHRvIGFkZCB0YWcgZnVuY3Rpb25hbGl0eSB0byBtb2RlbHMuCiAgICAiIiIKCiAgICBfbmFtZSA9ICJjeC50b3dlci50YWcubWl4aW4iCiAgICBfZGVzY3JpcHRpb24gPSAiQ2V0bWl4IFRvd2VyIFRhZyBNaXhpbiIKCiAgICB0YWdfaWRzID0gZmllbGRzLk1hbnkybWFueSgKICAgICAgICBjb21vZGVsX25hbWU9ImN4LnRvd2VyLnRhZyIsCiAgICAgICAgc3RyaW5nPSJUYWdzIiwKICAgICkKCiAgICBkZWYgYWRkX3RhZ3Moc2VsZiwgdGFnX25hbWVzKToKICAgICAgICAiIiJBZGQgdGFncyB0byB0aGUgcmVjb3JkCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIHRhZ19uYW1lcyAobGlzdCBvZiBDaGFyIG9yIENoYXIpOiBMaXN0IG9mIHRhZyBuYW1lcyB0byBhZGQKICAgICAgICAgICAgICAgIG9yIHNpbmdsZSB0YWcgbmFtZQogICAgICAgICIiIgogICAgICAgICMgU2luZ2xlIHRhZyBuYW1lIGlzIGdpdmVuLCBjb252ZXJ0IHRvIGxpc3QKICAgICAgICBpZiBpc2luc3RhbmNlKHRhZ19uYW1lcywgc3RyKToKICAgICAgICAgICAgdGFnX25hbWVzID0gW3RhZ19uYW1lc10KICAgICAgICAjIEludmFsaWQgdHlwZSBpcyBnaXZlbiwgcmV0dXJuIFRydWUKICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKHRhZ19uYW1lcywgbGlzdCk6CiAgICAgICAgICAgIHJldHVybiBUcnVlCgogICAgICAgIHRhZ3MgPSBzZWxmLmVudlsiY3gudG93ZXIudGFnIl0uc2VhcmNoKFsoIm5hbWUiLCAiaW4iLCB0YWdfbmFtZXMpXSkKICAgICAgICBpZiB0YWdzOgogICAgICAgICAgICBzZWxmLndyaXRlKHsidGFnX2lkcyI6IFsoNCwgdGFnLmlkKSBmb3IgdGFnIGluIHRhZ3NdfSkKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIGRlZiByZW1vdmVfdGFncyhzZWxmLCB0YWdfbmFtZXMpOgogICAgICAgICIiIlJlbW92ZSB0YWdzIGZyb20gdGhlIHJlY29yZAoKICAgICAgICBBcmdzOgogICAgICAgICAgICB0YWdfbmFtZXMgKGxpc3Qgb2YgQ2hhciBvciBDaGFyKTogTGlzdCBvZiB0YWcgbmFtZXMgdG8gcmVtb3ZlCiAgICAgICAgICAgICAgICBvciBzaW5nbGUgdGFnIG5hbWUuCiAgICAgICAgIiIiCiAgICAgICAgIyBTaW5nbGUgdGFnIG5hbWUgaXMgZ2l2ZW4sIGNvbnZlcnQgdG8gbGlzdAogICAgICAgIGlmIGlzaW5zdGFuY2UodGFnX25hbWVzLCBzdHIpOgogICAgICAgICAgICB0YWdfbmFtZXMgPSBbdGFnX25hbWVzXQogICAgICAgICMgSW52YWxpZCB0eXBlIGlzIGdpdmVuLCByZXR1cm4gVHJ1ZQogICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UodGFnX25hbWVzLCBsaXN0KToKICAgICAgICAgICAgcmV0dXJuIFRydWUKCiAgICAgICAgdGFncyA9IHNlbGYuZW52WyJjeC50b3dlci50YWciXS5zZWFyY2goWygibmFtZSIsICJpbiIsIHRhZ19uYW1lcyldKQogICAgICAgIGlmIHRhZ3M6CiAgICAgICAgICAgIHNlbGYud3JpdGUoeyJ0YWdfaWRzIjogWygzLCB0YWcuaWQpIGZvciB0YWcgaW4gdGFnc119KQogICAgICAgIHJldHVybiBUcnVlCgogICAgZGVmIGhhc190YWdzKHNlbGYsIHRhZ19uYW1lLCBzZWFyY2hfYWxsPUZhbHNlKToKICAgICAgICAiIiJHZXQgYWxsIHJlY29yZHMgZnJvbSB0aGUgcmVjb3Jkc2V0IHRoYXQgaGF2ZSBhbnkgb2YgdGhlIGdpdmVuIHRhZ3MKCiAgICAgICAgQXJnczoKICAgICAgICAgICAgdGFnX25hbWUgKENoYXIgb3IgTGlzdCBvZiBDaGFyKTogVGFnIG5hbWUgb3IgbGlzdCBvZiB0YWcgbmFtZXMgdG8gY2hlY2sKICAgICAgICAgICAgc2VhcmNoX2FsbCAoYm9vbCk6IElmIFRydWUsIHNlYXJjaCBhbGwgcmVjb3JkcyBpbiB0aGUgbW9kZWwKICAgICAgICAiIiIKCiAgICAgICAgIyBFbXB0eSByZWNvcmRzZXQgaXMgcmV0dXJuZWQgYXMgaXMKICAgICAgICBpZiBub3Qgc2VsZiBhbmQgbm90IHNlYXJjaF9hbGw6CiAgICAgICAgICAgIHJldHVybiBzZWxmCgogICAgICAgICMgQ2hlY2sgYXJndW1lbnQgdHlwZQogICAgICAgIGlmIGlzaW5zdGFuY2UodGFnX25hbWUsIHN0cik6CiAgICAgICAgICAgIHNpbmdsZV90YWcgPSBUcnVlCiAgICAgICAgZWxpZiBpc2luc3RhbmNlKHRhZ19uYW1lLCBsaXN0KToKICAgICAgICAgICAgc2luZ2xlX3RhZyA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmV0dXJuIHNlbGYuYnJvd3NlKCkKCiAgICAgICAgaWYgc2VhcmNoX2FsbDoKICAgICAgICAgICAgaWYgc2luZ2xlX3RhZzoKICAgICAgICAgICAgICAgIGRvbWFpbiA9IFsoInRhZ19pZHMubmFtZSIsICI9IiwgdGFnX25hbWUpXQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgZG9tYWluID0gWygidGFnX2lkcy5uYW1lIiwgImluIiwgdGFnX25hbWUpXQogICAgICAgICAgICByZXR1cm4gc2VsZi5lbnZbc2VsZi5fbmFtZV0uc2VhcmNoKGRvbWFpbikKCiAgICAgICAgaWYgc2luZ2xlX3RhZzoKICAgICAgICAgICAgcmV0dXJuIHNlbGYuZmlsdGVyZWQoCiAgICAgICAgICAgICAgICBsYW1iZGEgcmVjb3JkOiB0YWdfbmFtZSBpbiByZWNvcmQudGFnX2lkcy5tYXBwZWQoIm5hbWUiKQogICAgICAgICAgICApCiAgICAgICAgcmV0dXJuIHNlbGYuZmlsdGVyZWQoCiAgICAgICAgICAgIGxhbWJkYSByZWNvcmQ6IHNldCh0YWdfbmFtZSkgJiBzZXQocmVjb3JkLnRhZ19pZHMubWFwcGVkKCJuYW1lIikpCiAgICAgICAgKQoKICAgIGRlZiBoYXNfYWxsX3RhZ3Moc2VsZiwgdGFnX25hbWVzLCBzZWFyY2hfYWxsPUZhbHNlKToKICAgICAgICAiIiJHZXQgYWxsIHJlY29yZHMgZnJvbSB0aGUgcmVjb3Jkc2V0IHRoYXQgaGF2ZSBhbGwgb2YgdGhlIGdpdmVuIHRhZ3MKCiAgICAgICAgQXJnczoKICAgICAgICAgICAgdGFnX25hbWVzIChsaXN0IG9mIENoYXIpOiBMaXN0IG9mIHRhZyBuYW1lcyB0byBjaGVjawogICAgICAgICAgICBzZWFyY2hfYWxsIChib29sKTogSWYgVHJ1ZSwgc2VhcmNoIGFsbCByZWNvcmRzIGluIHRoZSBtb2RlbAogICAgICAgICIiIgogICAgICAgICMgTm8gdmFsdWUgb3IgaW52YWxpZCB0eXBlIGlzIGdpdmVuLCByZXR1cm4gZW1wdHkgcmVjb3Jkc2V0CiAgICAgICAgaWYgbm90IHRhZ19uYW1lcyBvciBub3QgaXNpbnN0YW5jZSh0YWdfbmFtZXMsIGxpc3QpOgogICAgICAgICAgICByZXR1cm4gc2VsZi5icm93c2UoKQoKICAgICAgICAjIEVtcHR5IHJlY29yZHNldCBpcyByZXR1cm5lZCBhcyBpcwogICAgICAgIGlmIG5vdCBzZWxmIGFuZCBub3Qgc2VhcmNoX2FsbDoKICAgICAgICAgICAgcmV0dXJuIHNlbGYKCiAgICAgICAgaWYgc2VhcmNoX2FsbDoKICAgICAgICAgICAgcmVjb3JkcyA9IHNlbGYuZW52W3NlbGYuX25hbWVdLnNlYXJjaChbKCJ0YWdfaWRzLm5hbWUiLCAiaW4iLCB0YWdfbmFtZXMpXSkKICAgICAgICBlbHNlOgogICAgICAgICAgICByZWNvcmRzID0gc2VsZgoKICAgICAgICB0YWdfbmFtZXNfc2V0ID0gc2V0KHRhZ19uYW1lcykKICAgICAgICByZXR1cm4gcmVjb3Jkcy5maWx0ZXJlZCgKICAgICAgICAgICAgbGFtYmRhIHJlY29yZDogdGFnX25hbWVzX3NldC5pc3N1YnNldChyZWNvcmQudGFnX2lkcy5tYXBwZWQoIm5hbWUiKSkKICAgICAgICApCg== \ No newline at end of file