~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/store/weave.py

  • Committer: John Arbash Meinel
  • Date: 2005-12-15 21:11:09 UTC
  • mto: (1185.50.20 bzr-jam-integration)
  • mto: This revision was merged to the branch mainline in revision 1532.
  • Revision ID: john@arbash-meinel.com-20051215211109-3c96c1af8cd45cdd
Added permission checking to Branch, and propogated that change into the stores.

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
    """
41
41
    FILE_SUFFIX = '.weave'
42
42
 
43
 
    def __init__(self, transport, prefixed=False, precious=False):
44
 
        self._transport = transport
45
 
        self._prefixed = prefixed
 
43
    def __init__(self, transport, prefixed=False, precious=False,
 
44
                 dir_mode=None, file_mode=None):
 
45
        super(WeaveStore, self).__init__(transport,
 
46
                dir_mode=dir_mode, file_mode=file_mode,
 
47
                prefixed=prefixed, compressed=False)
46
48
        self._precious = precious
47
49
 
48
50
    def filename(self, file_id):
67
69
    def _put(self, file_id, f):
68
70
        if self._prefixed:
69
71
            try:
70
 
                self._transport.mkdir(hash_prefix(file_id))
 
72
                self._transport.mkdir(hash_prefix(file_id), mode=self._dir_mode)
71
73
            except FileExists:
72
74
                pass
73
 
        return self._transport.put(self.filename(file_id), f)
 
75
        return self._transport.put(self.filename(file_id), f, mode=self._file_mode)
74
76
 
75
77
    def get_weave(self, file_id, transaction):
76
78
        weave = transaction.map.find_weave(file_id)