1
0
mirror of https://github.com/arsenetar/dupeguru.git synced 2025-05-07 09:19:50 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
0a4e61edf5
Additional cleanup per mypy
- Add Callable type to hasher (should realy be more specific...)
- Add type hint to COLUMNS in qtlib/table.py
- Use Qt.ItemFlag.ItemIsEnabled instead of Qt.itemIsEnabled in qtlib/table.py
2022-04-30 05:16:46 -05:00
d73a85b82e
Add type hints for compiled modules 2022-04-30 05:11:54 -05:00
6 changed files with 50 additions and 20 deletions

View File

@ -13,6 +13,16 @@
import os import os
from math import floor
import logging
import sqlite3
from threading import Lock
from typing import Any, AnyStr, Union, Callable
from pathlib import Path
from hscommon.util import nonone, get_file_ext
hasher: Callable
try: try:
import xxhash import xxhash
@ -22,15 +32,6 @@ except ImportError:
hasher = hashlib.md5 hasher = hashlib.md5
from math import floor
import logging
import sqlite3
from threading import Lock
from typing import Any, AnyStr, Union
from pathlib import Path
from hscommon.util import nonone, get_file_ext
__all__ = [ __all__ = [
"File", "File",
"Folder", "Folder",

13
core/pe/block.pyi Normal file
View File

@ -0,0 +1,13 @@
from typing import Tuple, List, Union, Sequence
_block = Tuple[int, int, int]
class NoBlocksError(Exception): ... # noqa: E302, E701
class DifferentBlockCountError(Exception): ... # noqa E701
def getblock(image: object) -> Union[_block, None]: ... # noqa: E302
def getblocks2(image: object, block_count_per_side: int) -> Union[List[_block], None]: ...
def diff(first: _block, second: _block) -> int: ...
def avgdiff( # noqa: E302
first: Sequence[_block], second: Sequence[_block], limit: int = 768, min_iterations: int = 1
) -> Union[int, None]: ...

6
core/pe/cache.pyi Normal file
View File

@ -0,0 +1,6 @@
from typing import Union, Tuple, List
_block = Tuple[int, int, int]
def colors_to_string(colors: List[_block]) -> str: ... # noqa: E302
def string_to_colors(s: str) -> Union[List[_block], None]: ...

View File

@ -6,6 +6,16 @@
# which should be included with this package. The terms are also available at # which should be included with this package. The terms are also available at
# http://www.gnu.org/licenses/gpl-3.0.html # http://www.gnu.org/licenses/gpl-3.0.html
import typing
from os import urandom
from pathlib import Path
from hscommon.testutil import eq_
from core.tests.directories_test import create_fake_fs
from .. import fs
hasher: typing.Callable
try: try:
import xxhash import xxhash
@ -15,14 +25,6 @@ except ImportError:
hasher = hashlib.md5 hasher = hashlib.md5
from os import urandom
from pathlib import Path
from hscommon.testutil import eq_
from core.tests.directories_test import create_fake_fs
from .. import fs
def create_fake_fs_with_random_data(rootpath): def create_fake_fs_with_random_data(rootpath):
rootpath = rootpath.joinpath("fs") rootpath = rootpath.joinpath("fs")

7
qt/pe/block.pyi Normal file
View File

@ -0,0 +1,7 @@
from typing import Tuple, List, Union
from PyQt5.QtGui import QImage
_block = Tuple[int, int, int]
def getblock(image: QImage) -> _block: ... # noqa: E302
def getblocks(image: QImage, block_count_per_side: int) -> Union[List[_block], None]: ...

View File

@ -6,6 +6,7 @@
# which should be included with this package. The terms are also available at # which should be included with this package. The terms are also available at
# http://www.gnu.org/licenses/gpl-3.0.html # http://www.gnu.org/licenses/gpl-3.0.html
import typing
from PyQt5.QtCore import ( from PyQt5.QtCore import (
Qt, Qt,
QAbstractTableModel, QAbstractTableModel,
@ -14,13 +15,13 @@ from PyQt5.QtCore import (
QItemSelection, QItemSelection,
) )
from .column import Columns from .column import Columns, Column
class Table(QAbstractTableModel): class Table(QAbstractTableModel):
# Flags you want when index.isValid() is False. In those cases, _getFlags() is never called. # Flags you want when index.isValid() is False. In those cases, _getFlags() is never called.
INVALID_INDEX_FLAGS = Qt.ItemIsEnabled INVALID_INDEX_FLAGS = Qt.ItemFlag.ItemIsEnabled
COLUMNS = [] COLUMNS: typing.List[Column] = []
def __init__(self, model, view, **kwargs): def __init__(self, model, view, **kwargs):
super().__init__(**kwargs) super().__init__(**kwargs)