Skip to content

Commit 60c4535

Browse files
committed
add format deregistration
1 parent 801043c commit 60c4535

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

src/meshio/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
from .__about__ import __version__
3535
from ._exceptions import ReadError, WriteError
3636
from ._helpers import (
37+
deregister_format,
3738
extension_to_filetypes,
3839
read,
3940
register_format,
@@ -77,6 +78,7 @@
7778
"read",
7879
"write",
7980
"register_format",
81+
"deregister_format",
8082
"write_points_cells",
8183
"extension_to_filetypes",
8284
"Mesh",

src/meshio/_cli/_ascii.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ def ascii(args):
2424
fmts = [args.input_format]
2525
else:
2626
fmts = _filetypes_from_path(pathlib.Path(args.infile))
27-
2827
# pick the first
2928
fmt = fmts[0]
3029

src/meshio/_helpers.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,29 @@
1515
_writer_map = {}
1616

1717

18-
def register_format(name: str, extensions: list[str], reader, writer_map):
18+
def register_format(format_name: str, extensions: list[str], reader, writer_map):
1919
for ext in extensions:
2020
if ext not in extension_to_filetypes:
2121
extension_to_filetypes[ext] = []
22-
extension_to_filetypes[ext].append(name)
22+
extension_to_filetypes[ext].append(format_name)
2323

2424
if reader is not None:
25-
reader_map[name] = reader
25+
reader_map[format_name] = reader
2626
_writer_map.update(writer_map)
2727

2828

29+
def deregister_format(format_name: str):
30+
for value in extension_to_filetypes.values():
31+
if format_name in value:
32+
value.remove(format_name)
33+
34+
if format_name in reader_map:
35+
reader_map.pop(format_name)
36+
37+
if format_name in _writer_map:
38+
_writer_map.pop(format_name)
39+
40+
2941
def _filetypes_from_path(path: Path) -> list[str]:
3042
ext = ""
3143
out = []

0 commit comments

Comments
 (0)