driverclient 0.2.9__tar.gz → 0.2.11__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.9 → driverclient-0.2.11}/PKG-INFO +1 -1
- {driverclient-0.2.9 → driverclient-0.2.11}/pyproject.toml +1 -1
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/__init__.py +1 -1
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/ops/capture.py +5 -6
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/ops/resolve.py +11 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/.gitignore +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/README.md +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/__main__.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/config.json +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/config.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/core/__init__.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/core/hardware.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/core/http.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/core/hwid.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/core/proc.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/events.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/main.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/ops/__init__.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/ops/automate.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/ops/diagnose.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/ops/install.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/src/driverclient/ops/scan.py +0 -0
- {driverclient-0.2.9 → driverclient-0.2.11}/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.11
|
|
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>
|
|
@@ -710,12 +710,11 @@ def _do_export(pkg: dict, cfg: dict) -> dict | None:
|
|
|
710
710
|
return None
|
|
711
711
|
|
|
712
712
|
try:
|
|
713
|
-
# Pack EVERY file pnputil /export-driver produced —
|
|
714
|
-
#
|
|
715
|
-
#
|
|
716
|
-
#
|
|
717
|
-
#
|
|
718
|
-
# specified" (broken link D). Completeness is the repo's contract.
|
|
713
|
+
# Pack EVERY file pnputil /export-driver produced — the driver's INF
|
|
714
|
+
# references them all (verified even for large packages), so this is
|
|
715
|
+
# the complete, installable set. The old extension filter dropped
|
|
716
|
+
# INF-referenced payloads (e.g. a camera's SPITDevMft.dll) → install
|
|
717
|
+
# failed with "cannot find the file specified" (broken link D).
|
|
719
718
|
archive_bytes, archive_name, encoding = pack_driver_archive(
|
|
720
719
|
dest, Path(original).stem, ["*"]
|
|
721
720
|
)
|
|
@@ -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
|