~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/store/__init__.py

  • Committer: Robert Collins
  • Date: 2005-10-17 00:46:10 UTC
  • mto: This revision was merged to the branch mainline in revision 1459.
  • Revision ID: robertc@lifelesslap.robertcollins.net-20051017004610-6130019f89a92d04
teach iter about suffixes

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
unique ID.
25
25
"""
26
26
 
 
27
import os
27
28
from cStringIO import StringIO
28
29
from zlib import adler32
29
30
 
242
243
        self._prefixed = prefixed
243
244
        self._suffixes = set()
244
245
 
 
246
    def __iter__(self):
 
247
        for relpath in self._transport.iter_files_recursive():
 
248
            # worst case is one of each suffix.
 
249
            name = os.path.basename(relpath)
 
250
            if name.endswith('.gz'):
 
251
                name = name[:-3]
 
252
            skip = False
 
253
            for count in range(len(self._suffixes)):
 
254
                for suffix in self._suffixes:
 
255
                    if name.endswith('.' + suffix):
 
256
                        skip = True
 
257
            if not skip:
 
258
                yield name
 
259
 
245
260
    def __len__(self):
246
261
        return len(list(self.__iter__()))
247
262