Skip to content

Commit fb5153e

Browse files
committed
glossary_v2.py: fix lint errors and improve an exception message
1 parent 985316b commit fb5153e

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

pyglossary/glossary_v2.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,7 @@ def _createReader(
649649
formatName: str,
650650
options: dict[str, Any],
651651
) -> Any: # noqa: ANN401
652-
readerClass = self.plugins[formatName].readerClass
652+
readerClass = PluginManager.plugins[formatName].readerClass
653653
if readerClass is None:
654654
raise ReadError("_createReader: readerClass is None")
655655
reader = readerClass(self)
@@ -681,7 +681,7 @@ def _validateReadoptions(
681681
formatName: str,
682682
options: dict[str, Any],
683683
) -> None:
684-
validOptionKeys = set(self.formatsReadOptions[formatName])
684+
validOptionKeys = set(PluginManager.formatsReadOptions[formatName])
685685
for key in list(options):
686686
if key not in validOptionKeys:
687687
log.error(
@@ -762,7 +762,7 @@ def _read(
762762
self._validateReadoptions(formatName, options)
763763

764764
filenameBase, ext = os.path.splitext(filenameUC)
765-
if ext.lower() not in self.plugins[formatName].extensions:
765+
if ext.lower() not in PluginManager.plugins[formatName].extensions:
766766
filenameBase = filenameUC
767767

768768
self._filename = filenameBase
@@ -812,7 +812,7 @@ def _createWriter(
812812
formatName: str,
813813
options: dict[str, Any],
814814
) -> Any: # noqa: ANN401
815-
validOptions = self.formatsWriteOptions.get(formatName)
815+
validOptions = PluginManager.formatsWriteOptions.get(formatName)
816816
if validOptions is None:
817817
raise WriteError(f"No write support for {formatName!r} format")
818818
validOptionKeys = list(validOptions)
@@ -823,7 +823,7 @@ def _createWriter(
823823
)
824824
del options[key]
825825

826-
writerClass = self.plugins[formatName].writerClass
826+
writerClass = PluginManager.plugins[formatName].writerClass
827827
if writerClass is None:
828828
raise WriteError("_createWriter: writerClass is None")
829829
writer = writerClass(self)
@@ -890,7 +890,7 @@ def _writeEntries(
890890
if self._config.get("save_info_json", False):
891891
from pyglossary.info_writer import InfoWriter
892892

893-
infoWriter = InfoWriter(self)
893+
infoWriter = InfoWriter(self) # pyright: ignore
894894
infoWriter.setWriteOptions(options)
895895
filenameNoExt, _, _, _ = splitFilenameExt(filename)
896896
infoWriter.open(f"{filenameNoExt}.info")
@@ -926,7 +926,10 @@ def _write(
926926
) -> str:
927927
filename = os.path.abspath(filename)
928928

929-
if formatName not in self.plugins or not self.plugins[formatName].canWrite:
929+
if formatName not in PluginManager.plugins:
930+
raise WriteError(f"No plugin {formatName!r} was found")
931+
932+
if not PluginManager.plugins[formatName].canWrite:
930933
raise WriteError(f"No Writer class found for plugin {formatName}")
931934

932935
if self._readers and sort:
@@ -1073,7 +1076,7 @@ def _resolveSortParams(
10731076
inputFilename=args.inputFilename,
10741077
)
10751078
elif not os.getenv("NO_SQLITE"):
1076-
self._data = self._newInMemorySqEntryList()
1079+
self._data = self._newInMemorySqEntryList() # pyright: ignore
10771080

10781081
self._data.setSortKey(
10791082
namedSortKey=namedSortKey,
@@ -1150,7 +1153,7 @@ def _convertPrepare(
11501153

11511154
direct, sort = self._resolveSortParams(
11521155
args=args,
1153-
plugin=self.plugins[outputFormat],
1156+
plugin=PluginManager.plugins[outputFormat],
11541157
)
11551158

11561159
showMemoryUsage()
@@ -1204,7 +1207,7 @@ def convertV2(self, args: ConvertArgs) -> str:
12041207
for key, value in args.infoOverride.items():
12051208
self.setInfo(key, value)
12061209

1207-
if compression and not self.plugins[outputFormat].singleFile:
1210+
if compression and not PluginManager.plugins[outputFormat].singleFile:
12081211
os.makedirs(outputFilename, mode=0o700, exist_ok=True)
12091212

12101213
writeOptions = args.writeOptions or {}

0 commit comments

Comments
 (0)