mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-10-04 09:16:34 +08:00

As some translation files are named with a .def.json.pot extension, they were previously considered for checking as if they were definition files. They are now filtered out.
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
from pathlib import Path
|
|
from typing import Optional, List
|
|
|
|
from .linters.profile import Profile
|
|
from .linters.defintion import Definition
|
|
from .linters.linter import Linter
|
|
from .linters.meshes import Meshes
|
|
from .linters.directory import Directory
|
|
from .linters.formulas import Formulas
|
|
|
|
|
|
def getLinter(file: Path, settings: dict) -> Optional[List[Linter]]:
|
|
""" Returns a Linter depending on the file format """
|
|
if not file.exists():
|
|
return [Directory(file, settings)]
|
|
|
|
if ".inst" in file.suffixes and file.suffixes[-1] == ".cfg":
|
|
return [Directory(file, settings), Profile(file, settings), Formulas(file, settings)]
|
|
|
|
if ".def" in file.suffixes and file.suffixes[-1] == ".json":
|
|
if file.stem in ("fdmprinter.def", "fdmextruder.def"):
|
|
return [Formulas(file, settings)]
|
|
return [Directory(file, settings), Definition(file, settings), Formulas(file, settings)]
|
|
|
|
if file.parent.stem == "meshes":
|
|
return [Meshes(file, settings)]
|
|
|
|
return [Directory(file, settings)]
|