From da35695d6c685e79fcebcfea90f5a27bfaca8c04 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Fri, 17 Dec 2021 13:16:53 -0300 Subject: [PATCH] Improve General Software version extraction --- biostools/analyzers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biostools/analyzers.py b/biostools/analyzers.py index a96a605..2c62031 100644 --- a/biostools/analyzers.py +++ b/biostools/analyzers.py @@ -1261,13 +1261,13 @@ class GeneralSoftwareAnalyzer(Analyzer): super().__init__('General', *args, **kwargs) self._string_pattern = re.compile(b'''([0-9]{2}/[0-9]{2}/[0-9]{2})\(C\) [0-9]+ General Software, Inc\. ''') - self._version_pattern = re.compile(b'''General Software (.+)(?: \(tm\))? (?:rel\.|Revision)''') + self._version_pattern = re.compile(b'''General Software (?:\\x00 )?([^\\\\]+)(?:rel\.|Revision)''') def can_handle(self, file_data, header_data): # Extract version. match = self._version_pattern.search(file_data) if match: - self.version = match.group(1).decode('cp437', 'ignore').replace(' BIOS ', '').strip() + self.version = match.group(1).decode('cp437', 'ignore').replace('(R)', '').replace('(tm)', '').replace(' BIOS ', ' ').strip() else: self.version = '?'