Revision 4a3dd52d lib/compat.py

b/lib/compat.py
146 146
  else:
147 147
    return val
148 148

  
149

  
150
def UniqueFrozenset(seq):
151
  """Makes C{frozenset} from sequence after checking for duplicate elements.
152

  
153
  @raise ValueError: When there are duplicate elements
154

  
155
  """
156
  if isinstance(seq, (list, tuple)):
157
    items = seq
158
  else:
159
    items = list(seq)
160

  
161
  result = frozenset(items)
162

  
163
  if len(items) != len(result):
164
    raise ValueError("Duplicate values found")
165

  
166
  return result
167

  
168

  
149 169
#: returns the first element of a list-like value
150 170
fst = operator.itemgetter(0)
151 171

  

Also available in: Unified diff