mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-24 15:13:56 -06:00
28 lines
1 KiB
Python
28 lines
1 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 ".cfg" in file.suffixes:
|
|
return [Directory(file, settings), Profile(file, settings), Formulas(file, settings)]
|
|
|
|
if ".def" in file.suffixes and ".json" in file.suffixes:
|
|
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)]
|