~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/weavestore.py

  • Committer: Martin Pool
  • Date: 2005-09-15 06:35:58 UTC
  • Revision ID: mbp@sourcefrog.net-20050915063558-f3b5bae25543c922
- add assertion

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
 
30
30
class WeaveStore(object):
31
 
    """Collection of several weave files in a directory.
32
 
 
33
 
    This has some shortcuts for reading and writing them.
34
 
    """
 
31
    """Collection of several weave files."""
35
32
    def __init__(self, dir):
36
33
        self._dir = dir
37
34
 
42
39
 
43
40
    def get_weave(self, file_id):
44
41
        return read_weave(file(self.filename(file_id), 'rb'))
45
 
 
46
 
 
47
 
    def get_lines(self, file_id, rev_id):
48
 
        """Return text from a particular version of a weave.
49
 
 
50
 
        Returned as a list of lines."""
51
 
        w = self.get_weave(file_id)
52
 
        return w.get(w.lookup(rev_id))
53
42
    
54
43
 
55
44
    def get_weave_or_empty(self, file_id):
58
47
            inf = file(self.filename(file_id), 'rb')
59
48
        except IOError, e:
60
49
            if e.errno == errno.ENOENT:
61
 
                return Weave(weave_name=file_id)
 
50
                return Weave()
62
51
            else:
63
52
                raise
64
53
        else: