~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/rio.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2008-03-16 14:01:20 UTC
  • mfrom: (3280.2.5 integration)
  • Revision ID: pqm@pqm.ubuntu.com-20080316140120-i3yq8yr1l66m11h7
Start 1.4 development

Show diffs side-by-side

added added

removed removed

Lines of Context:
116
116
 
117
117
    def add(self, tag, value):
118
118
        """Append a name and value to the stanza."""
119
 
        if not valid_tag(tag):
120
 
            raise ValueError("invalid tag %r" % (tag,))
 
119
        assert valid_tag(tag), \
 
120
            ("invalid tag %r" % tag)
121
121
        if isinstance(value, str):
122
122
            value = unicode(value)
123
123
        elif isinstance(value, unicode):
165
165
            return []
166
166
        result = []
167
167
        for tag, value in self.items:
 
168
            assert isinstance(tag, str), type(tag)
 
169
            assert isinstance(value, unicode)
168
170
            if value == '':
169
171
                result.append(tag + ': \n')
170
172
            elif '\n' in value:
233
235
        """
234
236
        d = {}
235
237
        for tag, value in self.items:
 
238
            assert tag not in d
236
239
            d[tag] = value
237
240
        return d
238
241
         
288
291
            break       # end of file
289
292
        if line == '\n':
290
293
            break       # end of stanza
 
294
        assert line.endswith('\n')
291
295
        real_l = line
292
296
        if line[0] == '\t': # continues previous value
293
297
            if tag is None:
302
306
                raise ValueError('tag/value separator not found in line %r'
303
307
                                 % real_l)
304
308
            tag = str(line[:colon_index])
305
 
            if not valid_tag(tag):
306
 
                raise ValueError("invalid rio tag %r" % (tag,))
 
309
            assert valid_tag(tag), \
 
310
                    "invalid rio tag %r" % tag
307
311
            accum_value = line[colon_index+2:-1]
308
312
 
309
313
    if tag is not None: # add last tag-value
323
327
    :param max_width: The maximum number of characters per physical line.
324
328
    :return: a list of lines
325
329
    """
326
 
    if max_width <= 6:
327
 
        raise ValueError(max_width)
 
330
    assert max_width > 6
328
331
    max_rio_width = max_width - 4
329
332
    lines = []
330
333
    for pline in stanza.to_lines():
370
373
    for line in line_iter:
371
374
        if line.startswith('# '):
372
375
            line = line[2:]
373
 
        elif line.startswith('#'):
 
376
        else:
 
377
            assert line.startswith('#')
374
378
            line = line[1:]
375
 
        else:
376
 
            raise ValueError("bad line %r" % (line,))
377
379
        if last_line is not None and len(line) > 2:
378
380
            line = line[2:]
379
381
        line = re.sub('\r', '', line)