228
228
def iter_files_bytes(self, desired_files):
229
229
"""Iterate through file contents.
231
The order in which files will be yielded is unspecified.
232
yields pairs of identifier, bytes_iterator. identifier is an opaque
233
value that uniquely identifies the file version. (Example: a
234
TreeTransform trans_id.)
236
The default implementation just does get_file_text().
231
Files will not necessarily be returned in the order they occur in
232
desired_files. No specific order is guaranteed.
234
Yields pairs of identifier, bytes_iterator. identifier is an opaque
235
value supplied by the caller as part of desired_files. It should
236
uniquely identify the file version in the caller's context. (Examples:
237
an index number or a TreeTransform trans_id.)
239
bytes_iterator is an iterable of bytestrings for the file. The
240
kind of iterable and length of the bytestrings are unspecified, but for
241
this implementation, it is a tuple containing a single bytestring with
242
the complete text of the file.
237
244
:param desired_files: a list of (file_id, identifier) pairs
239
246
for file_id, identifier in desired_files:
247
# We wrap the string in a tuple so that we can return an iterable
248
# of bytestrings. (Technically, a bytestring is also an iterable
249
# of bytestrings, but iterating through each character is not
240
251
cur_file = (self.get_file_text(file_id),)
241
252
yield identifier, cur_file