diff --git a/pyglossary/glossary_v2.py b/pyglossary/glossary_v2.py index bdbaa867d..b28231e80 100644 --- a/pyglossary/glossary_v2.py +++ b/pyglossary/glossary_v2.py @@ -31,10 +31,7 @@ relpath, ) from time import perf_counter as now -from typing import ( - TYPE_CHECKING, - cast, -) +from typing import TYPE_CHECKING, cast from uuid import uuid1 from . import core @@ -748,34 +745,35 @@ def _read( formatName = formatName or format del format + filenameAbs = os.path.abspath(filename) + self._setTmpDataDir(filename) - filename = os.path.abspath(filename) - ### - inputArgs = PluginManager.detectInputFormat(filename, formatName=formatName) - origFilename = filename - filename, formatName, compression = inputArgs + filenameUC, formatName, compression = PluginManager.detectInputFormat( + filenameAbs, formatName=formatName + ) + # filenameUC is the uncompressed file's absolute path if compression: from .compression import uncompress - uncompress(origFilename, filename, compression) + uncompress(filenameAbs, filenameUC, compression) self._validateReadoptions(formatName, options) - filenameNoExt, ext = os.path.splitext(filename) + filenameBase, ext = os.path.splitext(filenameUC) if ext.lower() not in self.plugins[formatName].extensions: - filenameNoExt = filename + filenameBase = filenameUC - self._filename = filenameNoExt + self._filename = filenameBase if not self._info.get(c_name): - self._info[c_name] = os.path.split(filename)[1] + self._info[c_name] = os.path.split(filenameUC)[1] if not self._entryFiltersAreSet: self.updateEntryFilters() reader = self._createReader(formatName, options) - self._openReader(reader, filename) + self._openReader(reader, filenameUC) self._readOptions = options