Files
odoo-addons/addons/cetmix_tower_server_queue1/models/cx_tower_file.py

1 line
8.9 KiB
Python

IyBDb3B5cmlnaHQgKEMpIDIwMjUgQ2V0bWl4IE/DnAojIExpY2Vuc2UgQUdQTC0zLjAgb3IgbGF0ZXIgKGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsKS4KCmltcG9ydCBsb2dnaW5nCgpmcm9tIG9kb28gaW1wb3J0IF8sIGZpZWxkcywgbW9kZWxzCmZyb20gb2Rvby5leGNlcHRpb25zIGltcG9ydCBVc2VyRXJyb3IKCl9sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKCgpjbGFzcyBDeFRvd2VyRmlsZShtb2RlbHMuTW9kZWwpOgogICAgX2luaGVyaXQgPSAiY3gudG93ZXIuZmlsZSIKCiAgICBpc19iZWluZ19wcm9jZXNzZWQgPSBmaWVsZHMuQm9vbGVhbigKICAgICAgICBjb3B5PUZhbHNlLAogICAgICAgIGhlbHA9IkZpbGUgaXMgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZCIsCiAgICApCgogICAgZGVmIF9jaGVja19maWxlc19iZWluZ19wcm9jZXNzZWQoc2VsZiwgcmFpc2VfZXJyb3IpOgogICAgICAgICIiIgogICAgICAgIENoZWNrIGlmIGFueSBmaWxlIGluIHRoZSByZWNvcmRzZXQgaXMgYmVpbmcgcHJvY2Vzc2VkLgogICAgICAgIFRydWUgaWYgYXQgbGVhc3Qgb25lIGZpbGUgaXMgYWxyZWFkeSBwcm9jZXNzaW5nIGFuZCByYWlzZV9lcnJvciBpcyBGYWxzZS4KICAgICAgICBGYWxzZSBpZiBubyBmaWxlcyBhcmUgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZC4KICAgICAgICBUaGUgY2FsbGVyIHVzZXMgdGhlIGJvb2xlYW4gdG8gZGVjaWRlIHdoZXRoZXIgdG8gY29udGludWUgb3IgYWJvcnQuCiAgICAgICAgIiIiCiAgICAgICAgcHJvY2Vzc2luZ19maWxlcyA9IHNlbGYuZmlsdGVyZWQobGFtYmRhIHJlYzogcmVjLmlzX2JlaW5nX3Byb2Nlc3NlZCkKICAgICAgICBpZiBwcm9jZXNzaW5nX2ZpbGVzOgogICAgICAgICAgICBpZiByYWlzZV9lcnJvcjoKICAgICAgICAgICAgICAgIHJhaXNlIFVzZXJFcnJvcigKICAgICAgICAgICAgICAgICAgICBfKAogICAgICAgICAgICAgICAgICAgICAgICAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgYWxyZWFkeSBiZWluZyBwcm9jZXNzZWQ6ICUobmFtZSlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iLCAiLmpvaW4ocHJvY2Vzc2luZ19maWxlcy5tYXBwZWQoIm5hbWUiKSksCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICByZXR1cm4gRmFsc2UKCiAgICBkZWYgdXBsb2FkKHNlbGYsIHJhaXNlX2Vycm9yPUZhbHNlKToKICAgICAgICAiIiIKICAgICAgICBUcmlnZ2VyIGFzeW5jaHJvbm91cyB1cGxvYWQgdmlhIGpvYiBxdWV1ZS4KICAgICAgICAiIiIKICAgICAgICAjIENoZWNrIGlmIHRoZSBmaWxlIGlzIGFscmVhZHkgYmVpbmcgcHJvY2Vzc2VkCiAgICAgICAgaWYgc2VsZi5fY2hlY2tfZmlsZXNfYmVpbmdfcHJvY2Vzc2VkKHJhaXNlX2Vycm9yKToKICAgICAgICAgICAgcmV0dXJuCgogICAgICAgIHNlbGYud3JpdGUoeyJzZXJ2ZXJfcmVzcG9uc2UiOiBGYWxzZSwgImlzX2JlaW5nX3Byb2Nlc3NlZCI6IFRydWV9KQoKICAgICAgICAjIEVucXVldWUgdGhlIHVwbG9hZCBpZiBub3QgYWxyZWFkeSBpbiBhIHF1ZXVlIGpvYjsKICAgICAgICAjIG90aGVyd2lzZSwgZXhlY3V0ZSBpbW1lZGlhdGVseQogICAgICAgIGlmIG5vdCBzZWxmLmVudi5jb250ZXh0LmdldCgiam9iX3V1aWQiKToKICAgICAgICAgICAgc2VsZi53aXRoX2RlbGF5KCkuX2RvX3VwbG9hZChyYWlzZV9lcnJvcj1yYWlzZV9lcnJvcikKICAgICAgICBlbHNlOgogICAgICAgICAgICBzZWxmLl9kb191cGxvYWQocmFpc2VfZXJyb3I9cmFpc2VfZXJyb3IpCgogICAgZGVmIGRvd25sb2FkKHNlbGYsIHJhaXNlX2Vycm9yPUZhbHNlKToKICAgICAgICAiIiIKICAgICAgICBUcmlnZ2VyIGFzeW5jaHJvbm91cyBkb3dubG9hZCB2aWEgam9iIHF1ZXVlLgogICAgICAgICIiIgoKICAgICAgICAjIENoZWNrIGlmIHRoZSBmaWxlIGlzIGFscmVhZHkgYmVpbmcgcHJvY2Vzc2VkCiAgICAgICAgaWYgc2VsZi5fY2hlY2tfZmlsZXNfYmVpbmdfcHJvY2Vzc2VkKHJhaXNlX2Vycm9yKToKICAgICAgICAgICAgcmV0dXJuCgogICAgICAgIHNlbGYud3JpdGUoeyJzZXJ2ZXJfcmVzcG9uc2UiOiBGYWxzZSwgImlzX2JlaW5nX3Byb2Nlc3NlZCI6IFRydWV9KQoKICAgICAgICAjIEVucXVldWUgdGhlIGRvd25sb2FkIGlmIG5vdCBhbHJlYWR5IGluIGEgcXVldWUgam9iOwogICAgICAgICMgb3RoZXJ3aXNlLCBleGVjdXRlIGltbWVkaWF0ZWx5CiAgICAgICAgaWYgbm90IHNlbGYuZW52LmNvbnRleHQuZ2V0KCJqb2JfdXVpZCIpOgogICAgICAgICAgICBzZWxmLndpdGhfZGVsYXkoKS5fZG9fZG93bmxvYWQocmFpc2VfZXJyb3I9cmFpc2VfZXJyb3IpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2VsZi5fZG9fZG93bmxvYWQocmFpc2VfZXJyb3I9cmFpc2VfZXJyb3IpCgogICAgZGVmIF9kb191cGxvYWQoc2VsZiwgcmFpc2VfZXJyb3I9VHJ1ZSk6CiAgICAgICAgIiIiCiAgICAgICAgVXBsb2FkcyB0aGUgZmlsZXMgd2l0aGluIGEgam9iIGNvbnRleHQgYW5kIG5vdGlmaWVzIHRoZSB1c2VyIG9uIHN1Y2Nlc3MuCiAgICAgICAgTG9ncyB0aGUgZXJyb3IgaWYgYW4gZXhjZXB0aW9uIG9jY3VyczsKICAgICAgICBmYWlsdXJlIHN0YXRlIGlzIG1hbmFnZWQgYnkgdGhlIHBhcmVudCBtZXRob2QuCiAgICAgICAgIiIiCiAgICAgICAgdHJ5OgogICAgICAgICAgICB3aXRoIHNlbGYuZW52LmNyLnNhdmVwb2ludCgpOgogICAgICAgICAgICAgICAgcmVzdWx0ID0gc3VwZXIoKS51cGxvYWQocmFpc2VfZXJyb3I9cmFpc2VfZXJyb3IpCiAgICAgICAgICAgICAgICBzaW5nbGVfbXNnID0gXygiRmlsZSB1cGxvYWRlZCEiKQogICAgICAgICAgICAgICAgcGx1cmFsX21zZyA9IF8oIkZpbGVzIHVwbG9hZGVkISIpCiAgICAgICAgICAgICAgICBzZWxmLmVudi51c2VyLm5vdGlmeV9zdWNjZXNzKAogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9c2luZ2xlX21zZyBpZiBsZW4oc2VsZikgPT0gMSBlbHNlIHBsdXJhbF9tc2csCiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XygiU3VjY2VzcyIpLAogICAgICAgICAgICAgICAgICAgICMgVGhpcyBub3RpZmljYXRpb24gc2hvdWxkIG5vdCBiZSBzdGlja3kKICAgICAgICAgICAgICAgICAgICAjIHRvIGF2b2lkIGJsb2NraW5nIHRoZSB1c2VyJ3Mgc2NyZWVuCiAgICAgICAgICAgICAgICAgICAgc3RpY2t5PUZhbHNlLAogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgaWYgbm90IHJhaXNlX2Vycm9yOgogICAgICAgICAgICAgICAgc2VsZi5lbnYudXNlci5ub3RpZnlfZGFuZ2VyKAogICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9XygKICAgICAgICAgICAgICAgICAgICAgICAgIkZpbGUocykgJShuYW1lKXMgdXBsb2FkIGZhaWxlZDogJShlcnJvcilzIiwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iLCAiLmpvaW4oc2VsZi5tYXBwZWQoIm5hbWUiKSksCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXN0cihlKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgIHRpdGxlPV8oIkZhaWx1cmUiKSwKICAgICAgICAgICAgICAgICAgICBzdGlja3k9c2VsZi5lbnZbImlyLmNvbmZpZ19wYXJhbWV0ZXIiXQogICAgICAgICAgICAgICAgICAgIC5zdWRvKCkKICAgICAgICAgICAgICAgICAgICAuZ2V0X3BhcmFtKCJjZXRtaXhfdG93ZXJfc2VydmVyLm5vdGlmaWNhdGlvbl90eXBlX2Vycm9yIiwgInN0aWNreSIpCiAgICAgICAgICAgICAgICAgICAgPT0gInN0aWNreSIsCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICBfbG9nZ2VyLmVycm9yKCJGaWxlICVzIHVwbG9hZCBmYWlsZWQ6ICVzIiwgc3RyKHNlbGYpLCBzdHIoZSkpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICByYWlzZQogICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgIHNlbGYud3JpdGUoeyJpc19iZWluZ19wcm9jZXNzZWQiOiBGYWxzZX0pCgogICAgZGVmIF9kb19kb3dubG9hZChzZWxmLCByYWlzZV9lcnJvcj1UcnVlKToKICAgICAgICAiIiIKICAgICAgICBEb3dubG9hZHMgdGhlIGZpbGVzIHdpdGhpbiBhIGpvYiBjb250ZXh0IGFuZCBub3RpZmllcyB0aGUgdXNlciBvbiBzdWNjZXNzLgogICAgICAgIExvZ3MgdGhlIGVycm9yIGlmIGFuIGV4Y2VwdGlvbiBvY2N1cnM7CiAgICAgICAgZmFpbHVyZSBzdGF0ZSBpcyBtYW5hZ2VkIGJ5IHRoZSBwYXJlbnQgbWV0aG9kLgogICAgICAgICIiIgogICAgICAgIHRyeToKICAgICAgICAgICAgd2l0aCBzZWxmLmVudi5jci5zYXZlcG9pbnQoKToKICAgICAgICAgICAgICAgIHJlc3VsdCA9IHN1cGVyKCkuZG93bmxvYWQocmFpc2VfZXJyb3I9cmFpc2VfZXJyb3IpCiAgICAgICAgICAgICAgICBzaW5nbGVfbXNnID0gXygiRmlsZSBkb3dubG9hZGVkISIpCiAgICAgICAgICAgICAgICBwbHVyYWxfbXNnID0gXygiRmlsZXMgZG93bmxvYWRlZCEiKQogICAgICAgICAgICAgICAgc2VsZi5lbnYudXNlci5ub3RpZnlfc3VjY2VzcygKICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPXNpbmdsZV9tc2cgaWYgbGVuKHNlbGYpID09IDEgZWxzZSBwbHVyYWxfbXNnLAogICAgICAgICAgICAgICAgICAgIHRpdGxlPV8oIlN1Y2Nlc3MiKSwKICAgICAgICAgICAgICAgICAgICAjIFRoaXMgbm90aWZpY2F0aW9uIHNob3VsZCBub3QgYmUgc3RpY2t5CiAgICAgICAgICAgICAgICAgICAgIyB0byBhdm9pZCBibG9ja2luZyB0aGUgdXNlcidzIHNjcmVlbgogICAgICAgICAgICAgICAgICAgIHN0aWNreT1GYWxzZSwKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGlmIG5vdCByYWlzZV9lcnJvcjoKICAgICAgICAgICAgICAgIHNlbGYuZW52LnVzZXIubm90aWZ5X2RhbmdlcigKICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPV8oCiAgICAgICAgICAgICAgICAgICAgICAgICJGaWxlKHMpICUobmFtZSlzIGRvd25sb2FkIGZhaWxlZDogJShlcnJvcilzIiwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iLCAiLmpvaW4oc2VsZi5tYXBwZWQoIm5hbWUiKSksCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yPXN0cihlKSwKICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgIHRpdGxlPV8oIkZhaWx1cmUiKSwKICAgICAgICAgICAgICAgICAgICBzdGlja3k9c2VsZi5lbnZbImlyLmNvbmZpZ19wYXJhbWV0ZXIiXQogICAgICAgICAgICAgICAgICAgIC5zdWRvKCkKICAgICAgICAgICAgICAgICAgICAuZ2V0X3BhcmFtKCJjZXRtaXhfdG93ZXJfc2VydmVyLm5vdGlmaWNhdGlvbl90eXBlX2Vycm9yIiwgInN0aWNreSIpCiAgICAgICAgICAgICAgICAgICAgPT0gInN0aWNreSIsCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICBfbG9nZ2VyLmVycm9yKCJGaWxlICVzIGRvd25sb2FkIGZhaWxlZDogJXMiLCBzdHIoc2VsZiksIHN0cihlKSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgZmluYWxseToKICAgICAgICAgICAgc2VsZi53cml0ZSh7ImlzX2JlaW5nX3Byb2Nlc3NlZCI6IEZhbHNlfSkKCiAgICBkZWYgYWN0aW9uX3B1bGxfZnJvbV9zZXJ2ZXIoc2VsZik6CiAgICAgICAgIiIiCiAgICAgICAgUHVsbCBmaWxlIGZyb20gc2VydmVyIHdpdGhvdXQgbm90aWZpY2F0aW9uLgogICAgICAgICIiIgogICAgICAgIHRvd2VyX2ZpbGVzID0gc2VsZi5maWx0ZXJlZChsYW1iZGEgZmlsZV86IGZpbGVfLnNvdXJjZSA9PSAidG93ZXIiKQogICAgICAgIHNlcnZlcl9maWxlcyA9IHNlbGYgLSB0b3dlcl9maWxlcwoKICAgICAgICB0b3dlcl9maWxlcy5hY3Rpb25fZ2V0X2N1cnJlbnRfc2VydmVyX2NvZGUoKQoKICAgICAgICBzZXJ2ZXJfZmlsZXMuZG93bmxvYWQocmFpc2VfZXJyb3I9RmFsc2UpCgogICAgZGVmIGFjdGlvbl9wdXNoX3RvX3NlcnZlcihzZWxmKToKICAgICAgICAiIiIKICAgICAgICBQdXNoIHRoZSBmaWxlIHRvIHNlcnZlciB3aXRob3V0IHN1Y2Nlc3Mgbm90aWZpY2F0aW9uLgogICAgICAgICIiIgogICAgICAgIHNlcnZlcl9maWxlcyA9IHNlbGYuZmlsdGVyZWQobGFtYmRhIGZpbGVfOiBmaWxlXy5zb3VyY2UgPT0gInNlcnZlciIpCiAgICAgICAgaWYgc2VydmVyX2ZpbGVzOgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgInR5cGUiOiAiaXIuYWN0aW9ucy5jbGllbnQiLAogICAgICAgICAgICAgICAgInRhZyI6ICJkaXNwbGF5X25vdGlmaWNhdGlvbiIsCiAgICAgICAgICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgICAgICAgICAgICJ0aXRsZSI6IF8oIkZhaWx1cmUiKSwKICAgICAgICAgICAgICAgICAgICAibWVzc2FnZSI6IF8oCiAgICAgICAgICAgICAgICAgICAgICAgICJVbmFibGUgdG8gdXBsb2FkIGZpbGUgJyUoZilzJy5cbiIKICAgICAgICAgICAgICAgICAgICAgICAgIlVwbG9hZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgJ3NlcnZlcicgdHlwZSBmaWxlcy4iLAogICAgICAgICAgICAgICAgICAgICAgICBmPSIsICIuam9pbihzZXJ2ZXJfZmlsZXMubWFwcGVkKCJyZW5kZXJlZF9uYW1lIikpLAogICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgInN0aWNreSI6IEZhbHNlLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgfQoKICAgICAgICBzZWxmLnVwbG9hZChyYWlzZV9lcnJvcj1GYWxzZSkK