mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-17 22:11:36 +00:00
IfcTester should not check requirements for prohibited specifications
This commit is contained in:
@@ -1287,7 +1287,6 @@ class IfcImporter:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class IfcImportSettings:
|
class IfcImportSettings:
|
||||||
"""
|
"""
|
||||||
Initialize only using `IfcImportSettings.factory()`.
|
Initialize only using `IfcImportSettings.factory()`.
|
||||||
|
|||||||
@@ -300,23 +300,15 @@ class Specification:
|
|||||||
if not is_applicable:
|
if not is_applicable:
|
||||||
continue
|
continue
|
||||||
self.applicable_entities.append(element)
|
self.applicable_entities.append(element)
|
||||||
for facet in self.requirements:
|
if self.maxOccurs != 0: # Requirements are skipped for prohibited applicability
|
||||||
result = facet(element)
|
for facet in self.requirements:
|
||||||
is_pass = bool(result)
|
result = facet(element)
|
||||||
if self.maxOccurs != 0: # This is a required or optional specification
|
if bool(result):
|
||||||
if is_pass:
|
|
||||||
self.passed_entities.add(element)
|
self.passed_entities.add(element)
|
||||||
facet.passed_entities.add(element)
|
facet.passed_entities.add(element)
|
||||||
else:
|
else:
|
||||||
self.failed_entities.add(element)
|
self.failed_entities.add(element)
|
||||||
facet.failures.append(FacetFailure(element=element, reason=str(result)))
|
facet.failures.append(FacetFailure(element=element, reason=str(result)))
|
||||||
else: # This is a prohibited specification
|
|
||||||
if is_pass:
|
|
||||||
self.failed_entities.add(element)
|
|
||||||
facet.failures.append(FacetFailure(element=element, reason=str(result)))
|
|
||||||
else:
|
|
||||||
self.passed_entities.add(element)
|
|
||||||
facet.passed_entities.add(element)
|
|
||||||
|
|
||||||
self.status = True
|
self.status = True
|
||||||
for facet in self.requirements:
|
for facet in self.requirements:
|
||||||
|
|||||||
Reference in New Issue
Block a user