~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/atomicfile.py

  • Committer: Martin Pool
  • Date: 2008-04-24 07:22:53 UTC
  • mto: This revision was merged to the branch mainline in revision 3415.
  • Revision ID: mbp@sourcefrog.net-20080424072253-opmjij7xfy38w27f
Remove every assert statement from bzrlib!

Depending on the context they are:

 * turned into an explicit if/raise of either AssertionError 
   or something more specific -- particularly where they protect
   programming interfaces, complex invariants, or data file integrity
 * removed, if they're redundant with a later check, not protecting
   a meaningful invariant
 * turned into a selftest method on tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
        global _hostname
52
52
 
53
53
        self._fd = None
54
 
        assert mode in ('wb', 'wt'), \
55
 
            "invalid AtomicFile mode %r" % mode
56
54
 
57
55
        if _hostname is None:
58
56
            _hostname = socket.gethostname()
64
62
        flags = os.O_EXCL | os.O_CREAT | os.O_WRONLY
65
63
        if mode == 'wb':
66
64
            flags |= osutils.O_BINARY
 
65
        elif mode != 'wt':
 
66
            raise ValueError("invalid AtomicFile mode %r" % mode)
67
67
 
68
68
        if new_mode is not None:
69
69
            local_mode = new_mode