~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bundle/serializer/v4.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:
107
107
    @staticmethod
108
108
    def encode_name(content_kind, revision_id, file_id=None):
109
109
        """Encode semantic ids as a container name"""
110
 
        assert content_kind in ('revision', 'file', 'inventory', 'signature',
111
 
                                'info')
112
 
 
 
110
        if content_kind not in ('revision', 'file', 'inventory', 'signature',
 
111
                'info'):
 
112
            raise ValueError(content_kind)
113
113
        if content_kind == 'file':
114
 
            assert file_id is not None
 
114
            if file_id is None:
 
115
                raise AssertionError()
115
116
        else:
116
 
            assert file_id is None
 
117
            if file_id is not None:
 
118
                raise AssertionError()
117
119
        if content_kind == 'info':
118
 
            assert revision_id is None
119
 
        else:
120
 
            assert revision_id is not None
 
120
            if revision_id is not None:
 
121
                raise AssertionError()
 
122
        elif revision_id is None:
 
123
            raise AssertionError()
121
124
        names = [n.replace('/', '//') for n in
122
125
                 (content_kind, revision_id, file_id) if n is not None]
123
126
        return '/'.join(names)
494
497
        for bytes, metadata, repo_kind, revision_id, file_id in\
495
498
            self._container.iter_records():
496
499
            if repo_kind == 'info':
497
 
                assert self._info is None
 
500
                if self._info is not None:
 
501
                    raise AssertionError()
498
502
                self._handle_info(metadata)
499
503
            if (repo_kind, file_id) != ('file', current_file):
500
504
                if len(pending_file_records) > 0: