driverclient 0.2.8__tar.gz → 0.2.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {driverclient-0.2.8 → driverclient-0.2.10}/PKG-INFO +1 -1
- {driverclient-0.2.8 → driverclient-0.2.10}/pyproject.toml +1 -1
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/__init__.py +1 -1
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/ops/capture.py +11 -10
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/ops/resolve.py +11 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/.gitignore +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/README.md +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/__main__.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/config.json +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/config.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/core/__init__.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/core/hardware.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/core/http.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/core/hwid.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/core/proc.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/events.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/main.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/ops/__init__.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/ops/automate.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/ops/diagnose.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/ops/install.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/ops/scan.py +0 -0
- {driverclient-0.2.8 → driverclient-0.2.10}/src/driverclient/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: driverclient
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
4
4
|
Summary: Driver Server client with an embeddable connector for config injection at runtime.
|
|
5
5
|
Project-URL: Homepage, https://example.com/driverclient
|
|
6
6
|
Author-email: Raja Sanaullah <sanaullah@99technologies.com>
|
|
@@ -684,7 +684,6 @@ def _do_export(pkg: dict, cfg: dict) -> dict | None:
|
|
|
684
684
|
published = pkg["published_name"]
|
|
685
685
|
original = pkg.get("original_name", published)
|
|
686
686
|
class_name = pkg.get("class_name", "").lower()
|
|
687
|
-
exts = _pick_extensions(class_name, cfg)
|
|
688
687
|
timeout = cfg.get("timeout_long", 120)
|
|
689
688
|
|
|
690
689
|
with tempfile.TemporaryDirectory() as tmp:
|
|
@@ -711,8 +710,14 @@ def _do_export(pkg: dict, cfg: dict) -> dict | None:
|
|
|
711
710
|
return None
|
|
712
711
|
|
|
713
712
|
try:
|
|
713
|
+
# Pack EVERY file pnputil /export-driver produced — it already isolates
|
|
714
|
+
# exactly this package's files into `dest`. The old extension filter
|
|
715
|
+
# ([.inf,.sys,.cat]) dropped INF-referenced payloads that aren't those
|
|
716
|
+
# types — e.g. a camera's Media-Foundation DLLs (SPITDevMft.dll) —
|
|
717
|
+
# yielding packages that fail install with "cannot find the file
|
|
718
|
+
# specified" (broken link D). Completeness is the repo's contract.
|
|
714
719
|
archive_bytes, archive_name, encoding = pack_driver_archive(
|
|
715
|
-
dest, Path(original).stem,
|
|
720
|
+
dest, Path(original).stem, ["*"]
|
|
716
721
|
)
|
|
717
722
|
except Exception as e:
|
|
718
723
|
events.warn("dump", f" [warn] pack error {published}: {e}",
|
|
@@ -786,11 +791,7 @@ def _upload_worker(upload_q: queue.Queue, counts: dict,
|
|
|
786
791
|
upload_q.task_done()
|
|
787
792
|
|
|
788
793
|
|
|
789
|
-
#
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
for key, exts in overrides.items():
|
|
794
|
-
if key.lower() in class_name:
|
|
795
|
-
return exts
|
|
796
|
-
return cfg.get("dump_extensions", [".inf", ".sys", ".cat"])
|
|
794
|
+
# Extension selection was removed: capture now packs every file
|
|
795
|
+
# pnputil /export-driver produces (see _do_export), so the dump_extensions /
|
|
796
|
+
# dump_extensions_overrides config keys are no longer consulted — filtering by
|
|
797
|
+
# extension is what caused incomplete packages (broken link D).
|
|
@@ -82,6 +82,16 @@ def _query_repo(scan_result: ScanResult, cfg: dict, force: bool) -> ResolveResul
|
|
|
82
82
|
hwid_groups = [
|
|
83
83
|
ids for ids in (hwid_mod.matchable_ids(d.hwids) for d in scan_result.devices) if ids
|
|
84
84
|
]
|
|
85
|
+
# Canonical ids of devices whose CURRENT driver is a Windows INBOX driver.
|
|
86
|
+
# The server uses this to offer the repo OEM instead of treating the inbox
|
|
87
|
+
# driver's Windows-build version (e.g. 10.0.19041.x) as "newer" than the OEM
|
|
88
|
+
# version (false-stale) and skipping the install. Without it, deleting an OEM
|
|
89
|
+
# driver → Windows binds its inbox fallback → repo never reinstalls the OEM.
|
|
90
|
+
inbox_ids = [
|
|
91
|
+
hwid_mod.canonicalize(i)
|
|
92
|
+
for d in scan_result.devices if getattr(d, "is_inbox", False)
|
|
93
|
+
for i in hwid_mod.matchable_ids(d.hwids)
|
|
94
|
+
]
|
|
85
95
|
# Version map ALSO keyed by the canonical ids the server matches on, so its
|
|
86
96
|
# already-current / stale check lands (raw keys kept for back-compat).
|
|
87
97
|
canon_versions = {
|
|
@@ -102,6 +112,7 @@ def _query_repo(scan_result: ScanResult, cfg: dict, force: bool) -> ResolveResul
|
|
|
102
112
|
"firmware_version": scan_result.firmware_version,
|
|
103
113
|
"hwids": scan_result.all_hwids,
|
|
104
114
|
"hwid_groups": hwid_groups,
|
|
115
|
+
"inbox_hwids": inbox_ids,
|
|
105
116
|
"installed_versions": {**scan_result.installed_versions, **canon_versions},
|
|
106
117
|
"force": force or cfg.get("force_resolve", False),
|
|
107
118
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|