icemac.truncatetext 0.2.1
Nice, intelligent truncation of text.
Nice, intelligent truncation of text.
Contents
Nicely truncate text
Intelligent truncation of text means that truncation does not take place inside a word but only between words. So the required length is only an approximation. The result text might be a bit longer than the required length:
>>> from icemac.truncatetext import truncate
>>> 'I was here.'[:3]
'I w'
>>> truncate('I was here.', 3)
'I was ...'
What can get truncated?
Only instances of basestring can be truncated:
>>> truncate(3, 3) Traceback (most recent call last): ValueError: 3 is no instance of basestring or None >>> truncate(u'Lorem ipsum', 5) u'Lorem ...'
None is handled nicely:
>>> truncate(None, 4) ''
What is returned?
Always at least one word is returned even when it is longer than the required length:
>>> truncate('Lorem ipsum', 1)
'Lorem ...'
If the text contains only of one word which is longer than the desired length it is returned without an ellipsis:
>>> truncate('The-really-long-word', 5)
'The-really-long-word'
If the text is shorter than the desired length it is returned without the ellipsis, too:
>>> truncate('Lorem ipsum', 11)
'Lorem ipsum'
Where gets the text truncated?
Truncation also takes place at tabs and linebreaks:
>>> truncate("I was here.\nNow I'm away", 11)
'I was here. ...'
>>> truncate("I was here.\rNow I'm away", 12)
'I was here.\rNow ...'
>>> truncate("I was here.\tNow I'm away", 11)
'I was here. ...'
I do not want ... as ellipsis.
truncate takes an optional argument which defines the ellipsis string:
>>> truncate(u'Lorem ipsum', 5, ellipsis=u':::') u'Lorem :::'
Changelog
0.2.1 (2011-07-28)
- Updated categories: Python 2.7 is supported, too.
0.2 (2009-09-26)
- Added ability pass a string used as ellipsis string.
0.1 (2009-01-31)
- Initial public release.
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| icemac.truncatetext-0.2.1.tar.gz (md5) | Source | 2011-07-28 | 4KB | 262 | |
- Author: Michael Howitz
- Home Page: http://pypi.python.org/pypi/icemac.truncatetext
- Keywords: text truncate string intelligent
- License: ZPL
-
Categories
- Development Status :: 5 - Production/Stable
- Intended Audience :: Developers
- License :: OSI Approved :: Zope Public License
- Natural Language :: English
- Operating System :: OS Independent
- Programming Language :: Python
- Programming Language :: Python :: 2
- Programming Language :: Python :: 2.3
- Programming Language :: Python :: 2.4
- Programming Language :: Python :: 2.5
- Programming Language :: Python :: 2.6
- Programming Language :: Python :: 2.7
- Topic :: Software Development :: Libraries :: Python Modules
- Topic :: Utilities
- Package Index Owner: icemac
- DOAP record: icemac.truncatetext-0.2.1.xml
