driverclient 0.2.26__tar.gz → 0.2.27__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.26 → driverclient-0.2.27}/PKG-INFO +1 -1
- {driverclient-0.2.26 → driverclient-0.2.27}/pyproject.toml +1 -1
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/__init__.py +1 -1
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/capture.py +16 -3
- {driverclient-0.2.26 → driverclient-0.2.27}/.gitignore +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/README.md +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/__main__.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/config.json +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/config.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/core/__init__.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/core/hardware.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/core/http.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/core/hwid.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/core/proc.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/events.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/main.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/__init__.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/automate.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/diagnose.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/download.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/install.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/offline.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/resolve.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/src/driverclient/ops/scan.py +0 -0
- {driverclient-0.2.26 → driverclient-0.2.27}/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.27
|
|
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>
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "driverclient"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.27"
|
|
8
8
|
description = "Driver Server client with an embeddable connector for config injection at runtime."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -344,11 +344,22 @@ def wu_full() -> CaptureResult:
|
|
|
344
344
|
|
|
345
345
|
# ══ Missing-HWID classification ═══════════════════════════════════════════════
|
|
346
346
|
|
|
347
|
+
_INBOX_INADEQUATE_CLASSES = {"display adapters"}
|
|
348
|
+
|
|
349
|
+
|
|
347
350
|
def classify_missing(not_found: list[str], scan_result: ScanResult) -> dict[str, list[str]]:
|
|
348
351
|
"""Bucket repo-missing HWIDs by what the machine says about their device:
|
|
349
352
|
inbox (Windows ships the driver — not applicable), oem_local (OEM driver
|
|
350
353
|
installed locally — capturable), driverless (genuinely missing — WU
|
|
351
|
-
candidate), unknown (HWID not in scan).
|
|
354
|
+
candidate), unknown (HWID not in scan).
|
|
355
|
+
|
|
356
|
+
Display adapters are excluded from the inbox bucket: Microsoft Basic
|
|
357
|
+
Display Adapter is Windows' inbox fallback for a GPU whose real driver
|
|
358
|
+
was never bound, and it leaves the device non-accelerated — unlike other
|
|
359
|
+
inbox drivers (HID, mass storage, ...) it is not adequate coverage. Such
|
|
360
|
+
a device is treated as driverless so it still reaches WU / gets captured
|
|
361
|
+
once a real driver shows up, instead of being silently written off.
|
|
362
|
+
"""
|
|
352
363
|
hwid_to_device: dict[str, Device] = {}
|
|
353
364
|
for dev in scan_result.devices:
|
|
354
365
|
for h in dev.hwids:
|
|
@@ -363,8 +374,10 @@ def classify_missing(not_found: list[str], scan_result: ScanResult) -> dict[str,
|
|
|
363
374
|
buckets["unknown"].append(hwid)
|
|
364
375
|
elif not dev.has_driver:
|
|
365
376
|
buckets["driverless"].append(hwid)
|
|
366
|
-
elif dev.is_inbox:
|
|
377
|
+
elif dev.is_inbox and dev.class_name.lower() not in _INBOX_INADEQUATE_CLASSES:
|
|
367
378
|
buckets["inbox"].append(hwid)
|
|
379
|
+
elif dev.is_inbox:
|
|
380
|
+
buckets["driverless"].append(hwid)
|
|
368
381
|
else:
|
|
369
382
|
buckets["oem_local"].append(hwid)
|
|
370
383
|
return buckets
|
|
@@ -1070,4 +1083,4 @@ def _upload_worker(upload_q: queue.Queue, counts: dict,
|
|
|
1070
1083
|
# Extension selection was removed: capture now packs every file
|
|
1071
1084
|
# pnputil /export-driver produces (see _do_export), so the dump_extensions /
|
|
1072
1085
|
# dump_extensions_overrides config keys are no longer consulted — filtering by
|
|
1073
|
-
# extension is what caused incomplete packages (broken link D).
|
|
1086
|
+
# extension is what caused incomplete packages (broken link D).
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|