| 165 | return get_schema().is_valid(filepath) |
| 166 | |
| 167 | def validate( |
| 168 | self, ifc_file: ifcopenshell.file, should_filter_version: bool = False, filepath: Optional[str] = None |
| 169 | ) -> None: |
| 170 | if filepath: |
| 171 | self.filepath = filepath |
| 172 | self.filename = os.path.basename(filepath) |
| 173 | else: |
| 174 | self.filepath = self.filename = None |
| 175 | get_pset.cache_clear() |
| 176 | get_psets.cache_clear() |
| 177 | for specification in self.specifications: |
| 178 | specification.reset_status() |
| 179 | specification.check_ifc_version(ifc_file) |
| 180 | specification.validate(ifc_file, should_filter_version=should_filter_version) |
| 181 | |
| 182 | |
| 183 | class Specification: |