diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b162a65..15bc157 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,12 @@ image: python:3-alpine +variables: + MYPYPATH: "stubs/" + mypy: stage: test script: - - pip install mypy --quiet - - mypy --install-types + - pip install mypy types-Pillow types-PyYAML --quiet - mypy syng --strict ruff: diff --git a/customtkinter.pyi b/customtkinter.pyi deleted file mode 100644 index d0b5aeb..0000000 --- a/customtkinter.pyi +++ /dev/null @@ -1,66 +0,0 @@ -from tkinter import Tk -from typing import Any, Callable, Optional - -from PIL.Image import Image - -class CTk(Tk): - def __init__(self, parent: Optional[Tk] = None, className: str = "Tk") -> None: - pass - def pack( - self, - expand: bool = False, - fill: str = "", - side: str = "", - padx: int = 0, - pady: int = 0, - ipadx: int = 0, - ipady: int = 0, - anchor: str = "", - ) -> None: ... - def grid( - self, column: int, row: int, padx: int = 0, pady: int = 0, sticky: str = "" - ) -> None: ... - def configure(self, **kwargs: Any) -> None: ... - -class CTkToplevel(CTk): ... -class CTkFrame(CTk): ... - -class CTkImage: - def __init__(self, light_image: Image, size: tuple[int, int]) -> None: ... - -class CTkTabview(CTk): - def __init__(self, parent: Tk, width: int, height: int) -> None: ... - def add(self, name: str) -> None: ... - def set(self, name: str) -> None: ... - def tab(self, name: str) -> CTkFrame: ... - -class CTkOptionMenu(CTk): - def __init__(self, parent: Tk, values: list[str]) -> None: ... - def set(self, value: str) -> None: ... - def get(self) -> str: ... - -class CTkCheckBox(CTk): - def __init__(self, parent: Tk, text: str, onvalue: Any, offvalue: Any) -> None: ... - def select(self) -> None: ... - def deselect(self) -> None: ... - def get(self) -> Any: ... - -class CTkLabel(CTk): - def __init__(self, parent: Tk, text: str, justify: str = "") -> None: ... - -class CTkTextbox(CTk): - def __init__(self, parent: Tk, wrap: str = "none", height: int = 1) -> None: ... - def get(self, start: str, end: str) -> str: ... - def delete(self, start: str, end: str) -> None: ... - def insert(self, start: str, value: str) -> None: ... - -class CTkScrollableFrame(CTk): ... - -class CTkButton(CTk): - def __init__( - self, - parent: Tk, - text: str, - command: Callable[..., None], - width: Optional[int] = None, - ) -> None: ... diff --git a/pyproject.toml b/pyproject.toml index c475383..2efa229 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,6 +56,8 @@ module = [ "qrcode", "engineio", "tkcalendar", + "customtkinter", + "aiohttp", "tktimepicker" ] ignore_missing_imports = true diff --git a/aiocmd.pyi b/stubs/aiocmd.pyi similarity index 100% rename from aiocmd.pyi rename to stubs/aiocmd.pyi diff --git a/mutagen.pyi b/stubs/mutagen.pyi similarity index 100% rename from mutagen.pyi rename to stubs/mutagen.pyi diff --git a/pytube.pyi b/stubs/pytube.pyi similarity index 100% rename from pytube.pyi rename to stubs/pytube.pyi diff --git a/socketio.pyi b/stubs/socketio.pyi similarity index 100% rename from socketio.pyi rename to stubs/socketio.pyi diff --git a/syng/gui.py b/syng/gui.py index e6ec034..dc963ae 100644 --- a/syng/gui.py +++ b/syng/gui.py @@ -24,7 +24,7 @@ from .sources import available_sources from .server import main as server_main -class DateAndTimePickerWindow(customtkinter.CTkToplevel): +class DateAndTimePickerWindow(customtkinter.CTkToplevel): # type: ignore def __init__( self, parent: customtkinter.CTkFrame | customtkinter.CTkScrollableFrame, @@ -76,7 +76,7 @@ class DateAndTimePickerWindow(customtkinter.CTkToplevel): self.destroy() -class OptionFrame(customtkinter.CTkScrollableFrame): +class OptionFrame(customtkinter.CTkScrollableFrame): # type:ignore def add_option_label(self, text: str) -> None: customtkinter.CTkLabel(self, text=text, justify="left").grid( column=0, row=self.number_of_options, padx=5, pady=5, sticky="ne" @@ -296,7 +296,7 @@ class GeneralConfig(OptionFrame): return config -class SyngGui(customtkinter.CTk): +class SyngGui(customtkinter.CTk): # type:ignore def on_close(self) -> None: if self.syng_server is not None: self.syng_server.kill()