From 9cf36f1d912b066ec619df4ed0f31a0af3bc664b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 18 Feb 2023 21:09:32 +1100 Subject: [PATCH] Fix BCF bug where BCFv2 files were unable to be loaded --- src/bcf/src/bcf/bcfxml.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/bcf/src/bcf/bcfxml.py b/src/bcf/src/bcf/bcfxml.py index 00a2871e99..33c5b03b96 100644 --- a/src/bcf/src/bcf/bcfxml.py +++ b/src/bcf/src/bcf/bcfxml.py @@ -24,7 +24,8 @@ from typing import Optional, Union from bcf.v2.bcfxml import BcfXml as BcfXml2 from bcf.v3.bcfxml import BcfXml as BcfXml3 -from bcf.v3.model import Version +from bcf.v2.model import Version as Version2 +from bcf.v3.model import Version as Version3 from bcf.xml_parser import AbstractXmlParserSerializer, XmlParserSerializer @@ -65,5 +66,8 @@ def _get_version(filepath: Union[str, Path], xml_handler: Optional[AbstractXmlPa """ xml_handler = xml_handler or XmlParserSerializer() with zipfile.ZipFile(filepath) as bcf_zip: - version = xml_handler.parse(bcf_zip.read("bcf.version"), Version) + try: + version = xml_handler.parse(bcf_zip.read("bcf.version"), Version3) + except: + version = xml_handler.parse(bcf_zip.read("bcf.version"), Version2) return version.version_id