/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/_static_tuple_py.py

  • Committer: Gustav Hartvigsson
  • Date: 2021-01-09 21:36:27 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20210109213627-h1xwcutzy9m7a99b
Added 'Case Preserving Working Tree Use Cases' from Canonical Wiki

* Addod a page from the Canonical Bazaar wiki
  with information on the scmeatics of case
  perserving filesystems an a case insensitive
  filesystem works.
  
  * Needs re-work, but this will do as it is the
    same inforamoton as what was on the linked
    page in the currint documentation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
strings.
21
21
"""
22
22
 
 
23
import sys
 
24
 
23
25
 
24
26
class StaticTuple(tuple):
25
27
    """A static type, similar to a tuple of strings."""
38
40
        if num_keys < 0 or num_keys > 255:
39
41
            raise TypeError('StaticTuple(...) takes from 0 to 255 items')
40
42
        for bit in args:
41
 
            if type(bit) not in (str, StaticTuple, unicode, int, long, float,
42
 
                                 None.__class__, bool):
 
43
            if type(bit) not in _valid_types:
43
44
                raise TypeError('StaticTuple can only point to'
44
 
                    ' StaticTuple, str, unicode, int, long, float, bool, or'
45
 
                    ' None not %s' % (type(bit),))
 
45
                                ' StaticTuple, str, unicode, int, float, bool, or'
 
46
                                ' None not %s' % (type(bit),))
46
47
        # We don't need to pass args to tuple.__init__, because that was
47
48
        # already handled in __new__.
48
49
        tuple.__init__(self)
55
56
 
56
57
    def __add__(self, other):
57
58
        """Concatenate self with other"""
58
 
        return StaticTuple.from_sequence(tuple.__add__(self,other))
 
59
        return StaticTuple.from_sequence(tuple.__add__(self, other))
59
60
 
60
61
    def as_tuple(self):
61
62
        return tuple(self)
72
73
        return StaticTuple(*seq)
73
74
 
74
75
 
 
76
_valid_types = (bytes, str, StaticTuple, int, float, None.__class__, bool)
 
77
 
75
78
 
76
79
# Have to set it to None first, so that __new__ can determine whether
77
80
# the _empty_tuple singleton has been created yet or not.