~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/store/__init__.py

  • Committer: John Arbash Meinel
  • Date: 2009-02-23 15:29:35 UTC
  • mfrom: (3943.7.7 bzr.code_style_cleanup)
  • mto: This revision was merged to the branch mainline in revision 4033.
  • Revision ID: john@arbash-meinel.com-20090223152935-oel9m92mwcc6nb4h
Merge the removal of all trailing whitespace, and resolve conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
 
43
43
class Store(object):
44
44
    """This class represents the abstract storage layout for saving information.
45
 
    
 
45
 
46
46
    Files can be added, but not modified once they are in.  Typically
47
47
    the hash is used as the name, or something else known to be unique,
48
48
    such as a UUID.
53
53
 
54
54
    def get(self, fileid, suffix=None):
55
55
        """Returns a file reading from a particular entry.
56
 
        
 
56
 
57
57
        If suffix is present, retrieve the named suffix for fileid.
58
58
        """
59
59
        raise NotImplementedError
71
71
 
72
72
    def has_id(self, fileid, suffix=None):
73
73
        """Return True or false for the presence of fileid in the store.
74
 
        
75
 
        suffix, if present, is a per file suffix, i.e. for digital signature 
 
74
 
 
75
        suffix, if present, is a per file suffix, i.e. for digital signature
76
76
        data."""
77
77
        raise NotImplementedError
78
78
 
136
136
 
137
137
    def _copy_one(self, fileid, suffix, other, pb):
138
138
        """Most generic copy-one object routine.
139
 
        
 
139
 
140
140
        Subclasses can override this to provide an optimised
141
141
        copy between their own instances. Such overriden routines
142
 
        should call this if they have no optimised facility for a 
 
142
        should call this if they have no optimised facility for a
143
143
        specific 'other'.
144
144
        """
145
145
        mutter('Store._copy_one: %r', fileid)
158
158
        mutter("add store entry %r", fileid)
159
159
        names = self._id_to_names(fileid, suffix)
160
160
        if self._transport.has_any(names):
161
 
            raise BzrError("store %r already contains id %r" 
 
161
            raise BzrError("store %r already contains id %r"
162
162
                           % (self._transport.base, fileid))
163
163
 
164
164
        # Most of the time, just adding the file will work
199
199
 
200
200
    def _get_name(self, fileid, suffix=None):
201
201
        """A special check, which returns the name of an existing file.
202
 
        
 
202
 
203
203
        This is similar in spirit to 'has_id', but it is designed
204
204
        to return information about which file the store has.
205
205
        """
211
211
    def _get(self, filename):
212
212
        """Return an vanilla file stream for clients to read from.
213
213
 
214
 
        This is the body of a template method on 'get', and should be 
 
214
        This is the body of a template method on 'get', and should be
215
215
        implemented by subclasses.
216
216
        """
217
217
        raise NotImplementedError
317
317
        for relpath in self._transport.iter_files_recursive():
318
318
            count += 1
319
319
            total += self._transport.stat(relpath).st_size
320
 
                
 
320
 
321
321
        return count, total