@@ -106,12 +106,11 @@ def escape_backticks(docstr):
106106 def replace_one (match ):
107107 if match .group (2 ) == 's' :
108108 return f"``{ match .group (1 )} ``'s"
109- elif match .group (2 ):
109+ if match .group (2 ):
110110 # This case (some trailer other than "s") doesn't currently exist
111111 # in the CDP definitions, but it's here just to be safe.
112112 return f'``{ match .group (1 )} `` { match .group (2 )} '
113- else :
114- return f'``{ match .group (1 )} ``'
113+ return f'``{ match .group (1 )} ``'
115114
116115 # Sometimes pipes are used where backticks should have been used.
117116 docstr = docstr .replace ('|' , '`' )
@@ -179,17 +178,15 @@ def get_annotation(cls, cdp_type):
179178 ''' Return a type annotation for the CDP type. '''
180179 if cdp_type == 'any' :
181180 return 'typing.Any'
182- else :
183- return cls [cdp_type ].value
181+ return cls [cdp_type ].value
184182
185183 @classmethod
186184 def get_constructor (cls , cdp_type , val ):
187185 ''' Return the code to construct a value for a given CDP type. '''
188186 if cdp_type == 'any' :
189187 return val
190- else :
191- cons = cls [cdp_type ].value
192- return f'{ cons } ({ val } )'
188+ cons = cls [cdp_type ].value
189+ return f'{ cons } ({ val } )'
193190
194191
195192@dataclass
@@ -333,18 +330,17 @@ def from_json(cls, type_):
333330 type_ ['type' ],
334331 CdpItems .from_json (type_ ['items' ]) if 'items' in type_ else None ,
335332 type_ .get ('enum' ),
336- [CdpProperty .from_json (p ) for p in type_ .get ('properties' , list () )],
333+ [CdpProperty .from_json (p ) for p in type_ .get ('properties' , [] )],
337334 )
338335
339336 def generate_code (self ):
340337 ''' Generate Python code for this type. '''
341338 logger .debug ('Generating type %s: %s' , self .id , self .type )
342339 if self .enum :
343340 return self .generate_enum_code ()
344- elif self .properties :
341+ if self .properties :
345342 return self .generate_class_code ()
346- else :
347- return self .generate_primitive_code ()
343+ return self .generate_primitive_code ()
348344
349345 def generate_primitive_code (self ):
350346 ''' Generate code for a primitive type. '''
@@ -395,7 +391,7 @@ def generate_enum_code(self):
395391 def to_json(self):
396392 return self.value''' )
397393
398- def_from_json = dedent (f '''\
394+ def_from_json = dedent ('''\
399395 @classmethod
400396 def from_json(cls, json):
401397 return cls(json)''' )
@@ -449,12 +445,12 @@ def to_json(self):
449445
450446 # Emit from_json() method. The properties are sorted in the same order
451447 # as above for readability.
452- def_from_json = dedent (f '''\
448+ def_from_json = dedent ('''\
453449 @classmethod
454450 def from_json(cls, json):
455451 return cls(
456452 ''' )
457- from_jsons = list ()
453+ from_jsons = []
458454 for p in props :
459455 from_json = p .generate_from_json (dict_ = 'json' )
460456 from_jsons .append (f'{ p .py_name } ={ from_json } ,' )
@@ -526,10 +522,10 @@ def generate_doc(self):
526522 doc = f':param { self .py_name } :'
527523
528524 if self .experimental :
529- doc += f ' **(EXPERIMENTAL)**'
525+ doc += ' **(EXPERIMENTAL)**'
530526
531527 if self .optional :
532- doc += f ' *(Optional)*'
528+ doc += ' *(Optional)*'
533529
534530 if self .description :
535531 desc = self .description .replace ('`' , '``' ).replace ('\n ' , ' ' )
@@ -600,8 +596,8 @@ def py_name(self):
600596 @classmethod
601597 def from_json (cls , command , domain ) -> 'CdpCommand' :
602598 ''' Instantiate a CDP command from a JSON object. '''
603- parameters = command .get ('parameters' , list () )
604- returns = command .get ('returns' , list () )
599+ parameters = command .get ('parameters' , [] )
600+ returns = command .get ('returns' , [] )
605601
606602 return cls (
607603 command ['name' ],
@@ -653,7 +649,7 @@ def generate_code(self):
653649 if self .description :
654650 doc = self .description
655651 if self .experimental :
656- doc += f '\n \n **EXPERIMENTAL**'
652+ doc += '\n \n **EXPERIMENTAL**'
657653 if self .parameters and doc :
658654 doc += '\n \n '
659655 elif not self .parameters and self .returns :
@@ -735,7 +731,7 @@ def from_json(cls, json: dict, domain: str):
735731 json .get ('deprecated' , False ),
736732 json .get ('experimental' , False ),
737733 [typing .cast (CdpParameter , CdpParameter .from_json (p ))
738- for p in json .get ('parameters' , list () )],
734+ for p in json .get ('parameters' , [] )],
739735 domain
740736 )
741737
@@ -804,16 +800,16 @@ def module(self):
804800 @classmethod
805801 def from_json (cls , domain : dict ):
806802 ''' Instantiate a CDP domain from a JSON object. '''
807- types = domain .get ('types' , list () )
808- commands = domain .get ('commands' , list () )
809- events = domain .get ('events' , list () )
803+ types = domain .get ('types' , [] )
804+ commands = domain .get ('commands' , [] )
805+ events = domain .get ('events' , [] )
810806 domain_name = domain ['domain' ]
811807
812808 return cls (
813809 domain_name ,
814810 domain .get ('description' ),
815811 domain .get ('experimental' , False ),
816- domain .get ('dependencies' , list () ),
812+ domain .get ('dependencies' , [] ),
817813 [CdpType .from_json (type ) for type in types ],
818814 [CdpCommand .from_json (command , domain_name )
819815 for command in commands ],
@@ -939,12 +935,12 @@ def parse(json_path, output_path):
939935 :returns: a list of CDP domain objects
940936 '''
941937 global current_version
942- with open (json_path ) as json_file :
938+ with open (json_path , encoding = "utf-8" ) as json_file :
943939 schema = json .load (json_file )
944940 version = schema ['version' ]
945941 assert (version ['major' ], version ['minor' ]) == ('1' , '3' )
946942 current_version = f'{ version ["major" ]} .{ version ["minor" ]} '
947- domains = list ()
943+ domains = []
948944 for domain in schema ['domains' ]:
949945 domains .append (CdpDomain .from_json (domain ))
950946 return domains
@@ -957,7 +953,7 @@ def generate_init(init_path, domains):
957953 :param list[tuple] modules: a list of modules each represented as tuples
958954 of (name, list_of_exported_symbols)
959955 '''
960- with open (init_path , "w" ) as init_file :
956+ with open (init_path , "w" , encoding = "utf-8" ) as init_file :
961957 init_file .write (INIT_HEADER )
962958 for domain in domains :
963959 init_file .write (f'from . import { domain .module } \n ' )
@@ -1001,7 +997,7 @@ def main(browser_protocol_path, js_protocol_path, output_path):
1001997 subpath .unlink ()
1002998
1003999 # Parse domains
1004- domains = list ()
1000+ domains = []
10051001 for json_path in json_paths :
10061002 logger .info ('Parsing JSON file %s' , json_path )
10071003 domains .extend (parse (json_path , output_path ))
0 commit comments