From f0c49b8daeaf0140f1c767c0bb20b587542222bb Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 12 Nov 2021 12:36:19 +0100 Subject: [PATCH] OP-1950 - changed returned format of ConfiguredExtensionsEndpoint to dictionary --- .../webserver_service/webpublish_routes.py | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py index 4a63b0af07..e444f5a1fe 100644 --- a/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py +++ b/openpype/hosts/webpublisher/webserver_service/webpublish_routes.py @@ -35,6 +35,8 @@ class RestApiResource: return value.isoformat() if isinstance(value, ObjectId): return str(value) + if isinstance(value, set): + return list(value) raise TypeError(value) @classmethod @@ -281,19 +283,31 @@ class PublishesStatusEndpoint(_RestApiEndpoint): class ConfiguredExtensionsEndpoint(_RestApiEndpoint): - """Returns list of extensions which have mapping to family.""" + """Returns dict of extensions which have mapping to family. + + Returns: + { + "file_exts": [], + "sequence_exts": [] + } + """ async def get(self, project_name=None) -> Response: sett = get_project_settings(project_name) - configured = [] + configured = { + "file_exts": set(), + "sequence_exts": set() + } collect_conf = sett["webpublisher"]["publish"]["CollectPublishedFiles"] for _, mapping in collect_conf.get("task_type_to_family", {}).items(): for _family, config in mapping.items(): - configured.extend(config["extensions"]) - configured = set(configured) + if config["is_sequence"]: + configured["sequence_exts"].update(config["extensions"]) + else: + configured["file_exts"].update(config["extensions"]) return Response( status=200, - body=self.resource.encode(sorted(list(configured))), + body=self.resource.encode(dict(configured)), content_type="application/json" )