summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Hupp <adam@hupp.org>2020-08-13 10:41:25 -0700
committerGitHub <noreply@github.com>2020-08-13 10:41:25 -0700
commitb8b200c2d2fca60012f313827e680f0b65c33652 (patch)
tree11d63e9e615da84199c5d77ce43ae9975c911c90
parent217c91bd64da389d062bd4db930a167e58fa77f1 (diff)
parentf645c3949748cac76875ccd0b288621b8e36f40f (diff)
downloadpython-magic-b8b200c2d2fca60012f313827e680f0b65c33652.tar.gz
Merge pull request #220 from coiax/stub
🐑 Create basic stub file for magic.py
-rw-r--r--magic.pyi83
-rw-r--r--tox.ini9
2 files changed, 91 insertions, 1 deletions
diff --git a/magic.pyi b/magic.pyi
new file mode 100644
index 0000000..d0df01a
--- /dev/null
+++ b/magic.pyi
@@ -0,0 +1,83 @@
+import ctypes.util
+import threading
+from typing import Any, Text, Optional, Union
+
+class MagicException(Exception):
+ message: Any = ...
+ def __init__(self, message: Any) -> None: ...
+
+class Magic:
+ flags: int = ...
+ cookie: Any = ...
+ lock: threading.Lock = ...
+ def __init__(self, mime: bool = ..., magic_file: Optional[Any] = ..., mime_encoding: bool = ..., keep_going: bool = ..., uncompress: bool = ..., raw: bool = ...) -> None: ...
+ def from_buffer(self, buf: Union[bytes, str]) -> Text: ...
+ def from_file(self, filename: Union[bytes, str]) -> Text: ...
+ def setparam(self, param: Any, val: Any): ...
+ def getparam(self, param: Any): ...
+ def __del__(self) -> None: ...
+
+def from_file(filename: Union[bytes, str], mime: bool = ...) -> Text: ...
+def from_buffer(buffer: Union[bytes, str], mime: bool = ...) -> Text: ...
+
+libmagic: Any
+dll: Any
+windows_dlls: Any
+platform_to_lib: Any
+platform: Any
+magic_t = ctypes.c_void_p
+
+def errorcheck_null(result: Any, func: Any, args: Any): ...
+def errorcheck_negative_one(result: Any, func: Any, args: Any): ...
+def maybe_decode(s: Union[bytes, str]) -> str: ...
+def coerce_filename(filename: Any): ...
+
+magic_open: Any
+magic_close: Any
+magic_error: Any
+magic_errno: Any
+
+def magic_file(cookie: Any, filename: Any): ...
+def magic_buffer(cookie: Any, buf: Any): ...
+def magic_load(cookie: Any, filename: Any): ...
+
+magic_setflags: Any
+magic_check: Any
+magic_compile: Any
+
+def magic_setparam(cookie: Any, param: Any, val: Any): ...
+def magic_getparam(cookie: Any, param: Any): ...
+
+magic_version: Any
+
+def version(): ...
+
+MAGIC_NONE: int
+MAGIC_DEBUG: int
+MAGIC_SYMLINK: int
+MAGIC_COMPRESS: int
+MAGIC_DEVICES: int
+MAGIC_MIME_TYPE: int
+MAGIC_MIME_ENCODING: int
+MAGIC_MIME: int
+MAGIC_CONTINUE: int
+MAGIC_CHECK: int
+MAGIC_PRESERVE_ATIME: int
+MAGIC_RAW: int
+MAGIC_ERROR: int
+MAGIC_NO_CHECK_COMPRESS: int
+MAGIC_NO_CHECK_TAR: int
+MAGIC_NO_CHECK_SOFT: int
+MAGIC_NO_CHECK_APPTYPE: int
+MAGIC_NO_CHECK_ELF: int
+MAGIC_NO_CHECK_ASCII: int
+MAGIC_NO_CHECK_TROFF: int
+MAGIC_NO_CHECK_FORTRAN: int
+MAGIC_NO_CHECK_TOKENS: int
+MAGIC_PARAM_INDIR_MAX: int
+MAGIC_PARAM_NAME_MAX: int
+MAGIC_PARAM_ELF_PHNUM_MAX: int
+MAGIC_PARAM_ELF_SHNUM_MAX: int
+MAGIC_PARAM_ELF_NOTES_MAX: int
+MAGIC_PARAM_REGEX_MAX: int
+MAGIC_PARAM_BYTES_MAX: int
diff --git a/tox.ini b/tox.ini
index 39fde90..2d5aa01 100644
--- a/tox.ini
+++ b/tox.ini
@@ -6,7 +6,8 @@ envlist =
py36,
py37,
py38,
- coverage-report
+ coverage-report,
+ mypy
[testenv]
commands =
@@ -37,3 +38,9 @@ commands =
coverage report
coverage html
coverage
+
+[testenv:mypy]
+deps = mypy
+skip_install = true
+commands =
+ mypy magic.pyi