@@ -412,7 +412,10 @@ class DeviceInfo(Port):
412
412
413
413
def __init__ (
414
414
self ,
415
- port : Port ,
415
+ port : Optional [Port ] = None ,
416
+ backend_domain : Optional = None ,
417
+ ident : Optional = None ,
418
+ devclass : Optional = None ,
416
419
vendor : Optional [str ] = None ,
417
420
product : Optional [str ] = None ,
418
421
manufacturer : Optional [str ] = None ,
@@ -424,6 +427,8 @@ def __init__(
424
427
self_identity : Optional [str ] = None ,
425
428
** kwargs
426
429
):
430
+ if port is None :
431
+ port = Port (backend_domain , ident , devclass )
427
432
super ().__init__ (port .backend_domain , port .ident , port .devclass )
428
433
429
434
self ._vendor = vendor
@@ -821,21 +826,24 @@ class DeviceAssignment(Port):
821
826
822
827
def __init__ (
823
828
self ,
824
- port : Port ,
829
+ port : Optional [Port ] = None ,
830
+ backend_domain : Optional = None ,
831
+ ident : Optional = None ,
832
+ devclass : Optional = None ,
825
833
device_identity = None ,
826
834
frontend_domain = None ,
827
835
options = None ,
828
836
mode : Union [str , AssignmentMode ] = "manual" ,
829
837
):
838
+ if port is None :
839
+ port = Port (backend_domain , ident , devclass )
830
840
super ().__init__ (port .backend_domain , port .ident , port .devclass )
831
841
self .__options = options or {}
832
842
if isinstance (mode , AssignmentMode ):
833
843
self .mode = mode
834
844
else :
835
845
self .mode = AssignmentMode (mode )
836
846
self .frontend_domain = frontend_domain
837
- if device_identity == 'any' :
838
- device_identity = None
839
847
self .device_identity = device_identity
840
848
841
849
def clone (self , ** kwargs ):
@@ -912,7 +920,7 @@ def attach_automatically(self) -> bool:
912
920
return self .mode in (
913
921
AssignmentMode .AUTO ,
914
922
AssignmentMode .ASK ,
915
- AssignmentMode .REQUIRED ,
923
+ AssignmentMode .REQUIRED
916
924
)
917
925
918
926
@attach_automatically .setter
0 commit comments