21 lines
438 B
Python
21 lines
438 B
Python
from collections.abc import Iterable
|
|
|
|
|
|
def str_coercible(cls):
|
|
def __str__(self):
|
|
return self.__unicode__()
|
|
|
|
cls.__str__ = __str__
|
|
return cls
|
|
|
|
|
|
def is_sequence(value):
|
|
return isinstance(value, Iterable) and not isinstance(value, str)
|
|
|
|
|
|
def starts_with(iterable, prefix):
|
|
"""
|
|
Returns whether or not given iterable starts with given prefix.
|
|
"""
|
|
return list(iterable)[0 : len(prefix)] == list(prefix)
|