From 78d67ca8d12f8f499447265e2bcd1591d40c51c3 Mon Sep 17 00:00:00 2001 From: Mikaela Szekely Date: Fri, 14 Aug 2020 09:34:52 -0600 Subject: [PATCH] emitters: allow endpoint-less configurations --- usb_protocol/emitters/descriptor.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/usb_protocol/emitters/descriptor.py b/usb_protocol/emitters/descriptor.py index a0cc92d..d85b699 100644 --- a/usb_protocol/emitters/descriptor.py +++ b/usb_protocol/emitters/descriptor.py @@ -3,9 +3,10 @@ # -from . import ConstructEmitter from collections import defaultdict +from . import ConstructEmitter + class ComplexDescriptorEmitter(ConstructEmitter): """ Base class for emitting complex descriptors, which contain nested subordinates. """ @@ -28,7 +29,7 @@ class ComplexDescriptorEmitter(ConstructEmitter): # Store a list of subordinate descriptors, and a count of # subordinate descriptor types. self._subordinates = [] - self._type_counts = {} + self._type_counts = defaultdict(int) def add_subordinate_descriptor(self, subordinate): @@ -48,10 +49,7 @@ class ComplexDescriptorEmitter(ConstructEmitter): # Count this descriptor type... subordinate_type = subordinate[1] - try: - self._type_counts[subordinate_type] += 1 - except KeyError: - self._type_counts[subordinate_type] = 1 + self._type_counts[subordinate_type] += 1 # ... and add the relevant bytes to our list of subordinates. self._subordinates.append(subordinate)