From fbe9bb1ee2c43495e9826c36158030e4a7f8b858 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 20 Mar 2021 17:56:43 +1100 Subject: [PATCH] Fix bcf bug for optional project.bcfp and optional project data --- src/bcf/bcf/bcfxml.py | 9 ++++++--- src/bcf/bcf/data.py | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/bcf/bcf/bcfxml.py b/src/bcf/bcf/bcfxml.py index c0791f98fd..13885b7f7d 100644 --- a/src/bcf/bcf/bcfxml.py +++ b/src/bcf/bcf/bcfxml.py @@ -50,9 +50,12 @@ class BcfXml: zip_file = zipfile.ZipFile(filepath) self.filepath = tempfile.mkdtemp() zip_file.extractall(self.filepath) - data = self._read_xml("project.bcfp", "project.xsd") - self.project.project_id = data["Project"]["@ProjectId"] - self.project.name = data["Project"]["Name"] + if os.path.isfile(os.path.join(self.filepath, "project.bcfp")): + data = self._read_xml("project.bcfp", "project.xsd") + self.project.extension_schema = data["ExtensionSchema"] + if "Project" in data: + self.project.project_id = data["Project"]["@ProjectId"] + self.project.name = data["Project"].get("Name") return self.project def edit_project(self): diff --git a/src/bcf/bcf/data.py b/src/bcf/bcf/data.py index 7fd23638be..ce4431da9a 100644 --- a/src/bcf/bcf/data.py +++ b/src/bcf/bcf/data.py @@ -2,6 +2,7 @@ class Project: def __init__(self): self.project_id = "" self.name = "" + self.extension_schema = "" class BimSnippet: