_sugar.py

# Copyright (C) 2010 by Eric Talevich (eric.talevich@gmail.com)# This code is part of the Biopython distribution and governed by its# license. Please see the LICENSE file that should have been included# as part of this package."""Short helper functions (syntax sugar) used in Bio.Phylo.The amount of code in this file should be kept to a minimum."""
__docformat__ = "epytext en"def iterlen(items):
"""Count the number of items in an iterable. Exhausts a generator, but doesn't require creating a full list. """for i, x in enumerate(items):
count = i
return count + 1
def trim_str(text, maxlen=60):
"""Truncate a string to maxlen characters, including ellipsis."""assert isinstance(text, basestring), \
"%s should be a string, not a %s" % (text, type(text))
if len(text) > maxlen:
return text[:maxlen-3] + '...'return text