mirror of https://github.com/mvt-project/mvt.git
Fixes mypy typing issues
This commit is contained in:
parent
89c6a35c26
commit
55f6a4ae54
|
@ -9,7 +9,7 @@ import os
|
|||
import sys
|
||||
import tarfile
|
||||
from pathlib import Path
|
||||
from typing import Callable, Optional
|
||||
from typing import Callable, Optional, List
|
||||
|
||||
from rich.prompt import Prompt
|
||||
|
||||
|
@ -17,6 +17,7 @@ from mvt.android.parsers.backup import (AndroidBackupParsingError,
|
|||
InvalidBackupPassword, parse_ab_header,
|
||||
parse_backup_file)
|
||||
from mvt.common.command import Command
|
||||
from mvt.android.modules.backup.base import BackupExtraction
|
||||
|
||||
from .modules.backup import BACKUP_MODULES
|
||||
|
||||
|
@ -43,11 +44,14 @@ class CmdAndroidCheckBackup(Command):
|
|||
self.name = "check-backup"
|
||||
self.modules = BACKUP_MODULES
|
||||
|
||||
self.backup_type = None
|
||||
self.backup_archive = None
|
||||
self.backup_files = []
|
||||
self.backup_type: str = ""
|
||||
self.backup_archive: Optional[tarfile.TarFile] = None
|
||||
self.backup_files: List[str] = []
|
||||
|
||||
def init(self) -> None:
|
||||
if not self.target_path:
|
||||
return
|
||||
|
||||
if os.path.isfile(self.target_path):
|
||||
self.backup_type = "ab"
|
||||
with open(self.target_path, "rb") as handle:
|
||||
|
@ -88,7 +92,7 @@ class CmdAndroidCheckBackup(Command):
|
|||
"Android Backup (.ab) file")
|
||||
sys.exit(1)
|
||||
|
||||
def module_init(self, module: Callable) -> None:
|
||||
def module_init(self, module: BackupExtraction) -> None: # type: ignore[override]
|
||||
if self.backup_type == "folder":
|
||||
module.from_folder(self.target_path, self.backup_files)
|
||||
else:
|
||||
|
|
|
@ -6,10 +6,11 @@
|
|||
import logging
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Callable, Optional
|
||||
from typing import Callable, Optional, List
|
||||
from zipfile import ZipFile
|
||||
|
||||
from mvt.common.command import Command
|
||||
from mvt.android.modules.bugreport.base import BugReportModule
|
||||
|
||||
from .modules.bugreport import BUGREPORT_MODULES
|
||||
|
||||
|
@ -36,11 +37,14 @@ class CmdAndroidCheckBugreport(Command):
|
|||
self.name = "check-bugreport"
|
||||
self.modules = BUGREPORT_MODULES
|
||||
|
||||
self.bugreport_format = None
|
||||
self.bugreport_archive = None
|
||||
self.bugreport_files = []
|
||||
self.bugreport_format: str = ""
|
||||
self.bugreport_archive: Optional[ZipFile] = None
|
||||
self.bugreport_files: List[str] = []
|
||||
|
||||
def init(self) -> None:
|
||||
if not self.target_path:
|
||||
return
|
||||
|
||||
if os.path.isfile(self.target_path):
|
||||
self.bugreport_format = "zip"
|
||||
self.bugreport_archive = ZipFile(self.target_path)
|
||||
|
@ -55,7 +59,7 @@ class CmdAndroidCheckBugreport(Command):
|
|||
parent_path)
|
||||
self.bugreport_files.append(file_path)
|
||||
|
||||
def module_init(self, module: Callable) -> None:
|
||||
def module_init(self, module: BugReportModule) -> None: # type: ignore[override]
|
||||
if self.bugreport_format == "zip":
|
||||
module.from_zip(self.bugreport_archive, self.bugreport_files)
|
||||
else:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# https://license.mvt.re/1.1/
|
||||
|
||||
import logging
|
||||
from typing import Optional, Union
|
||||
from typing import Optional, Union, List
|
||||
|
||||
from rich.console import Console
|
||||
from rich.progress import track
|
||||
|
@ -39,7 +39,7 @@ DANGEROUS_PERMISSIONS = [
|
|||
"android.permission.USE_SIP",
|
||||
"com.android.browser.permission.READ_HISTORY_BOOKMARKS",
|
||||
]
|
||||
ROOT_PACKAGES = [
|
||||
ROOT_PACKAGES: List[str] = [
|
||||
"com.noshufou.android.su",
|
||||
"com.noshufou.android.su.elite",
|
||||
"eu.chainfire.supersu",
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import fnmatch
|
||||
import logging
|
||||
import os
|
||||
from typing import Optional
|
||||
from typing import Union, List, Dict, Any, Optional
|
||||
|
||||
from mvt.common.module import MVTModule
|
||||
|
||||
|
@ -21,7 +21,7 @@ class AndroidQFModule(MVTModule):
|
|||
results_path: Optional[str] = None,
|
||||
fast_mode: Optional[bool] = False,
|
||||
log: logging.Logger = logging.getLogger(__name__),
|
||||
results: Optional[list] = None
|
||||
results: Union[List[Dict[str, Any]], Dict[str, Any], None] = None
|
||||
) -> None:
|
||||
super().__init__(file_path=file_path, target_path=target_path,
|
||||
results_path=results_path, fast_mode=fast_mode,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from typing import Optional, Union
|
||||
from typing import Optional, Union, List, Any, Dict
|
||||
|
||||
from mvt.android.modules.adb.packages import (DANGEROUS_PERMISSIONS,
|
||||
DANGEROUS_PERMISSIONS_THRESHOLD,
|
||||
|
@ -26,7 +26,7 @@ class DumpsysPackages(AndroidQFModule):
|
|||
results_path: Optional[str] = None,
|
||||
fast_mode: Optional[bool] = False,
|
||||
log: logging.Logger = logging.getLogger(__name__),
|
||||
results: Optional[list] = None
|
||||
results: Optional[List[Dict[str, Any]]] = None
|
||||
) -> None:
|
||||
super().__init__(file_path=file_path, target_path=target_path,
|
||||
results_path=results_path, fast_mode=fast_mode,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# https://license.mvt.re/1.1/
|
||||
|
||||
import logging
|
||||
from typing import Optional
|
||||
from typing import Optional, List, Dict, Union, Any
|
||||
|
||||
from mvt.android.modules.adb.dumpsys_receivers import (
|
||||
INTENT_DATA_SMS_RECEIVED, INTENT_NEW_OUTGOING_CALL,
|
||||
|
@ -24,7 +24,7 @@ class DumpsysReceivers(AndroidQFModule):
|
|||
results_path: Optional[str] = None,
|
||||
fast_mode: Optional[bool] = False,
|
||||
log: logging.Logger = logging.getLogger(__name__),
|
||||
results: Optional[list] = None
|
||||
results: Union[List[Any], Dict[str, Any], None] = None
|
||||
) -> None:
|
||||
super().__init__(file_path=file_path, target_path=target_path,
|
||||
results_path=results_path, fast_mode=fast_mode,
|
||||
|
|
|
@ -7,7 +7,7 @@ import fnmatch
|
|||
import logging
|
||||
import os
|
||||
from tarfile import TarFile
|
||||
from typing import Optional
|
||||
from typing import Optional, List
|
||||
|
||||
from mvt.common.module import MVTModule
|
||||
|
||||
|
@ -32,14 +32,14 @@ class BackupExtraction(MVTModule):
|
|||
self.tar = None
|
||||
self.files = []
|
||||
|
||||
def from_folder(self, backup_path: str, files: list) -> None:
|
||||
def from_folder(self, backup_path: Optional[str], files: List[str]) -> None:
|
||||
"""
|
||||
Get all the files and list them
|
||||
"""
|
||||
self.backup_path = backup_path
|
||||
self.files = files
|
||||
|
||||
def from_ab(self, file_path: str, tar: TarFile, files: list) -> None:
|
||||
def from_ab(self, file_path: Optional[str], tar: Optional[TarFile], files: List[str]) -> None:
|
||||
"""
|
||||
Extract the files
|
||||
"""
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import fnmatch
|
||||
import logging
|
||||
import os
|
||||
from typing import Optional
|
||||
from typing import Optional, List
|
||||
from zipfile import ZipFile
|
||||
|
||||
from mvt.common.module import MVTModule
|
||||
|
@ -28,16 +28,16 @@ class BugReportModule(MVTModule):
|
|||
results_path=results_path, fast_mode=fast_mode,
|
||||
log=log, results=results)
|
||||
|
||||
self.zip_archive = None
|
||||
self.extract_path = None
|
||||
self.extract_files = []
|
||||
self.zip_files = []
|
||||
self.zip_archive: Optional[ZipFile] = None
|
||||
self.extract_path: Optional[str] = None
|
||||
self.extract_files: List[str] = []
|
||||
self.zip_files: List[str] = []
|
||||
|
||||
def from_folder(self, extract_path: str, extract_files: str) -> None:
|
||||
def from_folder(self, extract_path: Optional[str], extract_files: List[str]) -> None:
|
||||
self.extract_path = extract_path
|
||||
self.extract_files = extract_files
|
||||
|
||||
def from_zip(self, zip_archive: ZipFile, zip_files: list) -> None:
|
||||
def from_zip(self, zip_archive: Optional[ZipFile], zip_files: List[str]) -> None:
|
||||
self.zip_archive = zip_archive
|
||||
self.zip_files = zip_files
|
||||
|
||||
|
|
|
@ -4,12 +4,13 @@
|
|||
# https://license.mvt.re/1.1/
|
||||
|
||||
import re
|
||||
from typing import List, Dict, Any
|
||||
from datetime import datetime
|
||||
|
||||
from mvt.common.utils import convert_datetime_to_iso
|
||||
|
||||
|
||||
def parse_dumpsys_accessibility(output: str) -> list:
|
||||
def parse_dumpsys_accessibility(output: str) -> List[Dict[str, str]]:
|
||||
results = []
|
||||
|
||||
in_services = False
|
||||
|
@ -34,7 +35,7 @@ def parse_dumpsys_accessibility(output: str) -> list:
|
|||
return results
|
||||
|
||||
|
||||
def parse_dumpsys_activity_resolver_table(output: str) -> dict:
|
||||
def parse_dumpsys_activity_resolver_table(output: str) -> Dict[str, Any]:
|
||||
results = {}
|
||||
|
||||
in_activity_resolver_table = False
|
||||
|
@ -138,7 +139,7 @@ def parse_dumpsys_battery_daily(output: str) -> list:
|
|||
return results
|
||||
|
||||
|
||||
def parse_dumpsys_battery_history(output: str) -> list:
|
||||
def parse_dumpsys_battery_history(output: str) -> List[Dict[str, Any]]:
|
||||
results = []
|
||||
|
||||
for line in output.splitlines():
|
||||
|
@ -194,7 +195,7 @@ def parse_dumpsys_battery_history(output: str) -> list:
|
|||
return results
|
||||
|
||||
|
||||
def parse_dumpsys_dbinfo(output: str) -> list:
|
||||
def parse_dumpsys_dbinfo(output: str) -> List[Dict[str, Any]]:
|
||||
results = []
|
||||
|
||||
rxp = re.compile(r'.*\[([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3})\].*\[Pid:\((\d+)\)\](\w+).*sql\=\"(.+?)\"') # pylint: disable=line-too-long
|
||||
|
@ -247,7 +248,7 @@ def parse_dumpsys_dbinfo(output: str) -> list:
|
|||
return results
|
||||
|
||||
|
||||
def parse_dumpsys_receiver_resolver_table(output: str) -> dict:
|
||||
def parse_dumpsys_receiver_resolver_table(output: str) -> Dict[str, Any]:
|
||||
results = {}
|
||||
|
||||
in_receiver_resolver_table = False
|
||||
|
@ -304,7 +305,7 @@ def parse_dumpsys_receiver_resolver_table(output: str) -> dict:
|
|||
return results
|
||||
|
||||
|
||||
def parse_dumpsys_appops(output: str) -> list:
|
||||
def parse_dumpsys_appops(output: str) -> List[Dict[str, Any]]:
|
||||
results = []
|
||||
perm = {}
|
||||
package = {}
|
||||
|
@ -389,7 +390,7 @@ def parse_dumpsys_appops(output: str) -> list:
|
|||
return results
|
||||
|
||||
|
||||
def parse_dumpsys_package_for_details(output: str) -> dict:
|
||||
def parse_dumpsys_package_for_details(output: str) -> Dict[str, Any]:
|
||||
"""
|
||||
Parse one entry of a dumpsys package information
|
||||
"""
|
||||
|
@ -480,7 +481,7 @@ def parse_dumpsys_package_for_details(output: str) -> dict:
|
|||
return details
|
||||
|
||||
|
||||
def parse_dumpsys_packages(output: str) -> list:
|
||||
def parse_dumpsys_packages(output: str) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
Parse the dumpsys package service data
|
||||
"""
|
||||
|
|
|
@ -12,7 +12,7 @@ from datetime import datetime
|
|||
from typing import Callable, Optional
|
||||
|
||||
from mvt.common.indicators import Indicators
|
||||
from mvt.common.module import run_module, save_timeline
|
||||
from mvt.common.module import run_module, save_timeline, MVTModule
|
||||
from mvt.common.utils import convert_datetime_to_iso, generate_hashes_from_path, get_sha256_from_file_path
|
||||
from mvt.common.version import MVT_VERSION
|
||||
|
||||
|
@ -142,7 +142,7 @@ class Command:
|
|||
def init(self) -> None:
|
||||
raise NotImplementedError
|
||||
|
||||
def module_init(self, module: Callable) -> None:
|
||||
def module_init(self, module: MVTModule) -> None:
|
||||
raise NotImplementedError
|
||||
|
||||
def finish(self) -> None:
|
||||
|
|
|
@ -7,7 +7,7 @@ import csv
|
|||
import logging
|
||||
import os
|
||||
import re
|
||||
from typing import Callable, Optional, Union
|
||||
from typing import Callable, Optional, Union, List, Any, Dict
|
||||
|
||||
import simplejson as json
|
||||
|
||||
|
@ -37,7 +37,7 @@ class MVTModule:
|
|||
results_path: Optional[str] = None,
|
||||
fast_mode: Optional[bool] = False,
|
||||
log: logging.Logger = logging.getLogger(__name__),
|
||||
results: Optional[list] = None
|
||||
results: Union[List[Dict[str, Any]], Dict[str, Any], None] = None
|
||||
) -> None:
|
||||
"""Initialize module.
|
||||
|
||||
|
|
Loading…
Reference in New Issue