Login

Inline truncate by character number

Author:
esanchez
Posted:
July 7, 2008
Language:
Python
Version:
.96
Score:
1 (after 1 ratings)

Sometimes I need to truncate a string after a number of characters, usually to avoid breaking the page layout. When the string we have to truncate is a filename I don't want to hide its extension so a user can easily recognize the file.

My solution is add the ellipsis at the middle of the string converting

ALongLongLongTitleDocumentThatExemplifiesThisSnippet.txt

into

ALongLongLong...hisSnippet.txt

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from django import template

register = template.Library()

@register.filter("inline_truncate")
def inline_truncate(value, size):
    """Truncates a string to the given size placing the ellipsis at the middle of the string"""
    if len(value) > size and size > 3:
        start = (size - 3) / 2
        end = (size - 3) - start
        return value[0:start] + '...' + value[-end:]
    else:
        return value[0:size]

More like this

  1. Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 2 months, 3 weeks ago
  2. Python Django CRUD Example Tutorial by tuts_station 3 months, 1 week ago
  3. Browser-native date input field by kytta 4 months, 3 weeks ago
  4. Generate and render HTML Table by LLyaudet 5 months ago
  5. My firs Snippets by GutemaG 5 months ago

Comments

Tarken (on November 13, 2008):

Exactly what I needed! Thanks a bunch

#

Please login first before commenting.