def insert_metadata(self, filename, lineno, basekey, value): """Insert metadata into a file at lineno. Also, prevent duplicate keys. """ entry = entry_at_lineno(self.entries, filename, lineno, Transaction) key = next_key(basekey, entry.meta) insert_metadata_in_file(filename, lineno - 1, key, value)
def test_next_key(): assert next_key('statement', []) == 'statement' assert next_key('statement', ['foo']) == 'statement' assert next_key('statement', ['foo', 'statement']) == 'statement-2' assert next_key('statement', ['statement', 'statement-2']) == 'statement-3'
def insert_metadata(self, filename, lineno, basekey, value): """Insert metadata into a file at lineno. Also, prevent duplicate keys.""" entry = entry_at_lineno(self.entries, filename, lineno, Transaction) key = next_key(basekey, entry.meta) insert_line_in_file(filename, lineno-1, '{}: "{}"'.format(key, value))