On 26 July 2012 13:26, Laszlo Nagy <gand...@shopzeus.com> wrote: [...] > I do not want this program to generate very long identifiers. It would > increase SQL parsing time, and don't look good. Let's just say that the > limit should be 32 characters. But I also want to recognize the identifiers > when I look at their modified/truncated names. [...] > print repr(Connection.makename("group1_group2_group3_some_field_name")) > 'group1_group2_group3_some_fiel$AyQVQUXoyf'
>>> len('group1_group2_group3_some_fiel$AyQVQUXoyf') 41 You've exceeded 32 characters! Perhaps you could change: return basename[:30]+"$"+tail to: return basename[:21]+"$"+tail But then you'd get something like this for your long identifier: group1_group2_group3_$AyQVQUXoyf which seems to miss out on a crucial bit: namely the field name. Also it's hard to imagine a way to keep things readable when we don't know what the original identifiers look like :) -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list