225
225
def get_file_by_path(self, path):
226
226
return self.get_file(self._inventory.path2id(path))
228
def iter_files_bytes(self, desired_files):
229
"""Iterate through file contents.
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.
244
:param desired_files: a list of (file_id, identifier) pairs
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
251
cur_file = (self.get_file_text(file_id),)
252
yield identifier, cur_file
228
254
def get_symlink_target(self, file_id):
229
255
"""Get the target for a given file_id.