Generating valid identifiers

Arnaud Delobelle arnodel at
Thu Jul 26 16:21:32 CEST 2012

On 26 July 2012 13:26, Laszlo Nagy <gandalf at> 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')

You've exceeded 32 characters!  Perhaps you could change:

            return basename[:30]+"$"+tail


            return basename[:21]+"$"+tail

But then you'd get something like this for your long identifier:


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 :)


More information about the Python-list mailing list