
On 14.05.2013 19:24, Mark Dickinson wrote:
On Sat, May 11, 2013 at 6:24 PM, M.-A. Lemburg <mal@egenix.com> wrote:
On 11.05.2013 19:05, Christian Tismer wrote:
I think a simple stripping of white-space in
text = s""" leftmost column two-char indent """
would solve 95 % of common indentation and concatenation cases. <snipped>
This is not a good solution for long lines where you don't want to have embedded line endings. Taken from existing code:
_litmonth = ('(?P<litmonth>' 'jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec|' 'mär|mae|mrz|mai|okt|dez|' 'fev|avr|juin|juil|aou|aoû|déc|' 'ene|abr|ago|dic|' 'out' ')[a-z,\.;]*')
or raise errors.DataError( 'Inconsistent revenue item currency: ' 'transaction=%r; transaction_position=%r' % (transaction, transaction_position))
Agreed. I use the implicit concatenation a lot for exception messages like the one above; we also tend to keep line length to 80 characters *and* use nice verbose exception messages. I could live with adding the extra '+' characters and parentheses, but I think it would be a net loss of readability.
The _litmonth example looks like a candidate for re.VERBOSE and a triple-quoted string, though.
It's taken out of context, just to demonstrate some real world example of how long strings are broken down to handy 80 char code lines. The _litmonth variable is used as component to build other REs and those typically also contain (important) whitespace, so re.VERBOSE won't work. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, May 14 2013)
Python Projects, Consulting and Support ... http://www.egenix.com/ mxODBC.Zope/Plone.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
2013-05-07: Released mxODBC Zope DA 2.1.2 ... http://egenix.com/go46 2013-05-06: Released mxODBC 3.2.3 ... http://egenix.com/go45 ::::: Try our mxODBC.Connect Python Database Interface for free ! :::::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/