add return types

This commit is contained in:
Joey de l'Arago 2022-11-22 14:38:41 +01:00
parent bcaa4d3032
commit 91daf89c2d
6 changed files with 20 additions and 19 deletions

View file

@ -7,7 +7,7 @@ from .replacement import Replacement
class Definition: class Definition:
def __init__(self, file, settings): def __init__(self, file, settings) -> None:
self._settings = settings self._settings = settings
self._file = file self._file = file
self._defs = {} self._defs = {}
@ -20,7 +20,7 @@ class Definition:
self._getSetting(k, v, settings) self._getSetting(k, v, settings)
self._defs["fdmprinter"] = {"overrides": settings} self._defs["fdmprinter"] = {"overrides": settings}
def check(self): def check(self) -> None:
if self._settings["checks"].get("diagnostic-definition-redundant-override", False): if self._settings["checks"].get("diagnostic-definition-redundant-override", False):
for check in self.checkRedefineOverride(): for check in self.checkRedefineOverride():
yield check yield check
@ -32,7 +32,7 @@ class Definition:
yield yield
def checkRedefineOverride(self): def checkRedefineOverride(self) -> None:
definition_name = list(self._defs.keys())[0] definition_name = list(self._defs.keys())[0]
definition = self._defs[definition_name] definition = self._defs[definition_name]
if "overrides" in definition and definition_name != "fdmprinter": if "overrides" in definition and definition_name != "fdmprinter":
@ -54,17 +54,18 @@ class Definition:
replacement_text = "")] replacement_text = "")]
) )
def checkValueOutOfBounds(self): def checkValueOutOfBounds(self) -> None:
pass pass
def _getSetting(self, name, setting, settings): def _getSetting(self, name, setting, settings) -> None:
if "children" in setting: if "children" in setting:
for childname, child in setting["children"].items(): for childname, child in setting["children"].items():
self._getSetting(childname, child, settings) self._getSetting(childname, child, settings)
settings |= {name: setting} settings |= {name: setting}
def _getDefs(self, file): def _getDefs(self, file) -> None:
if not file.exists(): """ Loads up file, and it's parent definitions into self._defs """
if not file.exists() or Path(file.stem).stem in self._defs:
return return
self._defs[Path(file.stem).stem] = json.loads(file.read_text()) self._defs[Path(file.stem).stem] = json.loads(file.read_text())
if "inherits" in self._defs[Path(file.stem).stem]: if "inherits" in self._defs[Path(file.stem).stem]:

View file

@ -1,5 +1,5 @@
class Diagnostic: class Diagnostic:
def __init__(self, file, diagnostic_name, message, level, offset, replacements=None): def __init__(self, file, diagnostic_name, message, level, offset, replacements=None) -> None:
self.file = file self.file = file
self.diagnostic_name = diagnostic_name self.diagnostic_name = diagnostic_name
self.message = message self.message = message
@ -7,7 +7,7 @@ class Diagnostic:
self.level = level self.level = level
self.replacements = replacements self.replacements = replacements
def toDict(self): def toDict(self) -> dict:
diagnostic_dict = {"DiagnosticName": self.diagnostic_name, diagnostic_dict = {"DiagnosticName": self.diagnostic_name,
"DiagnosticMessage": { "DiagnosticMessage": {
"Message": self.message, "Message": self.message,

View file

@ -2,12 +2,12 @@ from .diagnostic import Diagnostic
class Meshes: class Meshes:
def __init__(self, file, settings): def __init__(self, file, settings) -> None:
self._settings = settings self._settings = settings
self._file = file self._file = file
self._max_file_size = self._settings.get("diagnostic-mesh-file-size", 1e6) self._max_file_size = self._settings.get("diagnostic-mesh-file-size", 1e6)
def check(self): def check(self) -> None:
if self._settings["checks"].get("diagnostic-mesh-file-extension", False): if self._settings["checks"].get("diagnostic-mesh-file-extension", False):
for check in self.checkFileFormat(): for check in self.checkFileFormat():
yield check yield check
@ -18,7 +18,7 @@ class Meshes:
yield yield
def checkFileFormat(self): def checkFileFormat(self) -> None:
if self._file.suffix.lower() not in (".3mf", ".obj", ".stl"): if self._file.suffix.lower() not in (".3mf", ".obj", ".stl"):
yield Diagnostic( yield Diagnostic(
file = self._file, file = self._file,

View file

@ -1,7 +1,7 @@
class Profile: class Profile:
def __init__(self, file, settings): def __init__(self, file, settings) -> None:
self._settings = settings self._settings = settings
self._file = file self._file = file
def check(self): def check(self) -> None:
yield yield

View file

@ -5,7 +5,7 @@ class Replacement:
self.length = length self.length = length
self.replacement_text = replacement_text self.replacement_text = replacement_text
def toDict(self): def toDict(self) -> dict:
return {"FilePath": self.file.as_posix(), return {"FilePath": self.file.as_posix(),
"Offset": self.offset, "Offset": self.offset,
"Length": self.length, "Length": self.length,

View file

@ -11,7 +11,7 @@ import yaml
from printerlinter import factory from printerlinter import factory
def examineFile(file, settings, full_body_check): def examineFile(file, settings, full_body_check) -> None:
patient = factory.create(file, settings) patient = factory.create(file, settings)
if patient is None: if patient is None:
return return
@ -21,7 +21,7 @@ def examineFile(file, settings, full_body_check):
full_body_check["Diagnostics"].append(diagnostic.toDict()) full_body_check["Diagnostics"].append(diagnostic.toDict())
def fixFile(file, settings, full_body_check): def fixFile(file, settings, full_body_check) -> None:
if not file.exists(): if not file.exists():
return return
ext = ".".join(file.name.split(".")[-2:]) ext = ".".join(file.name.split(".")[-2:])
@ -34,7 +34,7 @@ def fixFile(file, settings, full_body_check):
pass pass
def formatFile(file: Path, settings): def formatFile(file: Path, settings) -> None:
if not file.exists(): if not file.exists():
return return
ext = ".".join(file.name.split(".")[-2:]) ext = ".".join(file.name.split(".")[-2:])
@ -70,7 +70,7 @@ def formatFile(file: Path, settings):
config.write(f, space_around_delimiters=settings["format"].get("format-profile-space-around-delimiters", True)) config.write(f, space_around_delimiters=settings["format"].get("format-profile-space-around-delimiters", True))
def main(): def main() -> None:
parser = ArgumentParser( parser = ArgumentParser(
description="UltiMaker Cura printer linting, static analysis and formatting of Cura printer definitions and other resources") description="UltiMaker Cura printer linting, static analysis and formatting of Cura printer definitions and other resources")
parser.add_argument("--setting", required=False, type=Path, help="Path to the `.printer-linter` setting file") parser.add_argument("--setting", required=False, type=Path, help="Path to the `.printer-linter` setting file")