~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/inventory.py

Inventory.iter_just_entries() API & test

Show diffs side-by-side

added added

removed removed

Lines of Context:
1143
1143
        """Iterate over all file-ids."""
1144
1144
        return iter(self._byid)
1145
1145
 
 
1146
    def iter_just_entries(self):
 
1147
        """Iterate over all entries.
 
1148
        
 
1149
        Unlike iter_entries(), just the entries are returned (not (path, ie))
 
1150
        and the order of entries is undefined.
 
1151
 
 
1152
        XXX: We may not want to merge this into bzr.dev.
 
1153
        """
 
1154
        if self.root is None:
 
1155
            return
 
1156
        for _, ie in self._byid.iteritems():
 
1157
            yield ie
 
1158
 
1146
1159
    def __len__(self):
1147
1160
        """Returns number of entries."""
1148
1161
        return len(self._byid)
1722
1735
        for key, _ in self.id_to_entry.iteritems():
1723
1736
            yield key[-1]
1724
1737
 
 
1738
    def iter_just_entries(self):
 
1739
        """Iterate over all entries.
 
1740
        
 
1741
        Unlike iter_entries(), just the entries are returned (not (path, ie))
 
1742
        and the order of entries is undefined.
 
1743
 
 
1744
        XXX: We may not want to merge this into bzr.dev.
 
1745
        """
 
1746
        for key, entry in self.id_to_entry.iteritems():
 
1747
            file_id = key[0]
 
1748
            ie = self._entry_cache.get(file_id, None)
 
1749
            if ie is None:
 
1750
                ie = self._bytes_to_entry(entry)
 
1751
                self._entry_cache[file_id] = ie
 
1752
            yield ie
 
1753
 
1725
1754
    def iter_changes(self, basis):
1726
1755
        """Generate a Tree.iter_changes change list between this and basis.
1727
1756