This is partially just me being nitpicky, but I tend to avoid overriding built-in methods in Python, even though it works ok in scope.  I personally just find it easier to read.  :)  Would it make sense to rename this function to 'shorten' or 'shorten_string'?