Generating valid identifiers

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


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



More information about the Python-list mailing list