]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Always use str as the type parameter for CompletedProcess
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 6 Aug 2023 12:25:52 +0000 (14:25 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 6 Aug 2023 17:30:33 +0000 (19:30 +0200)
We always set text=True when calling subprocess.run(), so we know
that the type is going to be str, so let's encode that to get
better type checking from mypy.

mkosi/__init__.py
mkosi/manifest.py
mkosi/tree.py
mkosi/types.py

index f847a5b367de7a086c672e701df3d37e1672662d..979db913a0020b087d2ab9ad32437ef1a0f3d029 100644 (file)
@@ -17,7 +17,7 @@ import uuid
 from collections.abc import Iterator, Sequence
 from pathlib import Path
 from textwrap import dedent
-from typing import ContextManager, Optional, TextIO, Union, cast
+from typing import ContextManager, Optional, TextIO, Union
 
 from mkosi.archive import extract_tar, make_cpio, make_tar
 from mkosi.config import (
@@ -397,7 +397,7 @@ def certificate_common_name(certificate: Path) -> str:
         if not sep:
             die("Missing '=' delimiter in openssl output")
 
-        return cast(str, value.strip())
+        return value.strip()
 
     die(f"Certificate {certificate} is missing Common Name")
 
index 81b2290edfd405543c5120d7fb9ed474fcb4b687..d81c5f098cdf3100a3860fcaf71abe472be7aa41 100644 (file)
@@ -137,8 +137,8 @@ class Manifest:
             if self.config.base_trees and installtime < self._init_timestamp:
                 continue
 
-            package = PackageManifest("rpm", name, evr, arch, size)
-            self.packages.append(package)
+            manifest = PackageManifest("rpm", name, evr, arch, size)
+            self.packages.append(manifest)
 
             if not self.need_source_info():
                 continue
@@ -157,7 +157,7 @@ class Manifest:
                 source = SourcePackageManifest(srpm, changelog)
                 self.source_packages[srpm] = source
 
-            source.add(package)
+            source.add(manifest)
 
     def record_deb_packages(self, root: Path) -> None:
         c = run(["dpkg-query",
@@ -185,8 +185,8 @@ class Manifest:
             if self.config.base_trees and installtime < self._init_timestamp:
                 continue
 
-            package = PackageManifest("deb", name, version, arch, size)
-            self.packages.append(package)
+            manifest = PackageManifest("deb", name, version, arch, size)
+            self.packages.append(manifest)
 
             if not self.need_source_info():
                 continue
@@ -228,7 +228,7 @@ class Manifest:
                 source_package = SourcePackageManifest(source, result.stdout.strip())
                 self.source_packages[source] = source_package
 
-            source_package.add(package)
+            source_package.add(manifest)
 
     def record_pkg_packages(self, root: Path) -> None:
         packages = sorted((root / "var/lib/pacman/local").glob("*/desc"))
index 6c3266af0be4316c57abf8a4acab3da5dbf5aacc..3cd2173cfc650fb93bcfd13af419cfd68eba3ffe 100644 (file)
@@ -4,7 +4,7 @@ import errno
 import shutil
 import subprocess
 from pathlib import Path
-from typing import Optional, Sequence, cast
+from typing import Optional, Sequence
 
 from mkosi.archive import extract_tar
 from mkosi.config import ConfigFeature, MkosiConfig
@@ -15,8 +15,7 @@ from mkosi.util import umask
 
 
 def statfs(path: Path) -> str:
-    return cast(str, run(["stat", "--file-system", "--format", "%T", path],
-                         stdout=subprocess.PIPE).stdout.strip())
+    return run(["stat", "--file-system", "--format", "%T", path], stdout=subprocess.PIPE).stdout.strip()
 
 
 def is_subvolume(path: Path) -> bool:
index 0648a09279b2b3bf0f3ea6ad452530665d2d2618..a2a3643b5cbb47c0d68fb56f56cc1a1359b9675b 100644 (file)
@@ -8,8 +8,8 @@ from typing import IO, TYPE_CHECKING, Any, Union
 # to a TypeError during compilation.
 # Let's be as strict as we can with the description for the usage we have.
 if TYPE_CHECKING:
-    CompletedProcess = subprocess.CompletedProcess[Any]
-    Popen = subprocess.Popen[Any]
+    CompletedProcess = subprocess.CompletedProcess[str]
+    Popen = subprocess.Popen[str]
 else:
     CompletedProcess = subprocess.CompletedProcess
     Popen = subprocess.Popen