def endFile(self): # Print out all the dictionaries as Python strings. # Could just print(dict) but that's not human-readable dicts = ([self.basetypes, 'basetypes'], [self.consts, 'consts'], [self.enums, 'enums'], [self.flags, 'flags'], [self.funcpointers, 'funcpointers'], [self.protos, 'protos'], [self.structs, 'structs'], [self.handles, 'handles'], [self.defines, 'defines'], [self.typeCategory, 'typeCategory'], [self.alias, 'alias']) for (entry_dict, name) in dicts: write(name + ' = {}', file=self.outFile) for key in sorted(entry_dict.keys()): write(name + '[' + enquote(key) + '] = ', entry_dict[key], file=self.outFile) # Dictionary containing the relationships of a type # (e.g. a dictionary with each related type as keys). write('mapDict = {}', file=self.outFile) # Could just print(self.mapDict), but prefer something # human-readable and stable-ordered for baseType in sorted(self.mapDict.keys()): write('mapDict[' + enquote(baseType) + '] = ', file=self.outFile, end='') pprint(self.mapDict[baseType], self.outFile) OutputGenerator.endFile(self)
def endFile(self): # Print out all the dictionaries as Python strings. # Could just print(dict) but that's not human-readable dicts = [ [ self.basetypes, 'basetypes' ], [ self.consts, 'consts' ], [ self.enums, 'enums' ], [ self.flags, 'flags' ], [ self.funcpointers, 'funcpointers' ], [ self.protos, 'protos' ], [ self.structs, 'structs' ], [ self.handles, 'handles' ], [ self.defines, 'defines' ], [ self.typeCategory, 'typeCategory' ], [ self.alias, 'alias' ], ] for (entry_dict, name) in dicts: write(name + ' = {}', file=self.outFile) for key in sorted(entry_dict.keys()): write(name + '[' + enquote(key) + '] = ', entry_dict[key], file=self.outFile) # Dictionary containing the relationships of a type # (e.g. a dictionary with each related type as keys). write('mapDict = {}', file=self.outFile) # Could just print(self.mapDict), but prefer something # human-readable and stable-ordered for baseType in sorted(self.mapDict.keys()): write('mapDict[' + enquote(baseType) + '] = ', file=self.outFile, end='') pprint(self.mapDict[baseType], self.outFile) OutputGenerator.endFile(self)
def endFile(self): # Print out all the dictionaries as Python strings. # Could just print(dict) but that's not human-readable dicts = ([self.basetypes, 'basetypes'], [self.consts, 'consts'], [self.enums, 'enums'], [self.flags, 'flags'], [self.funcpointers, 'funcpointers'], [self.protos, 'protos'], [self.structs, 'structs'], [self.handles, 'handles'], [self.defines, 'defines'], [self.typeCategory, 'typeCategory'], [self.alias, 'alias']) for (entry_dict, name) in dicts: write(name + ' = {}', file=self.outFile) for key in sorted(entry_dict.keys()): write(name + '[' + enquote(key) + '] = ', entry_dict[key], file=self.outFile) # Dictionary containing the relationships of a type # (e.g. a dictionary with each related type as keys). write('mapDict = {}', file=self.outFile) # Could just print(self.mapDict), but prefer something # human-readable and stable-ordered for baseType in sorted(self.mapDict.keys()): write('mapDict[' + enquote(baseType) + '] = ', file=self.outFile, end='') pprint.pprint(self.mapDict[baseType], self.outFile) # Generate feature <-> interface mappings for feature in self.features: self.mapInterfaces(feature) # Write out the reverse map from APIs to requiring features write('requiredBy = {}', file=self.outFile) for api in sorted(self.apimap): # Construct list of requirements as Python list arguments ##reqs = ', '.join('({}, {})'.format(enquote(dep[0]), enquote(dep[1])) for dep in self.apimap[api]) ##write('requiredBy[{}] = ( {} )'.format(enquote(api), reqs), file=self.outFile) # Ideally these would be sorted by dep[0] as well reqs = ', '.join( '({}, {})'.format(enquote(dep[0]), enquote(dep[1])) for dep in self.apimap[api]) write('requiredBy[{}] = {}'.format( enquote(api), pprint.saferepr(self.apimap[api])), file=self.outFile) OutputGenerator.endFile(self)
def addName(self, entry_dict, name, value): """Add a string entry to the dictionary, quoting it so it gets printed out correctly in self.endFile().""" entry_dict[name] = enquote(value)
def addName(self, entry_dict, name, value): entry_dict[name] = enquote(value)