@@ -161,12 +161,8 @@ def _raw_full_surname(raw_surn_data_list):
161
161
"""method for the 'l' symbol: full surnames"""
162
162
result = ""
163
163
for raw_surn_data in raw_surn_data_list :
164
- result += "%s %s %s " % (
165
- raw_surn_data [_PREFIX_IN_LIST ],
166
- raw_surn_data [_SURNAME_IN_LIST ],
167
- raw_surn_data [_CONNECTOR_IN_LIST ],
168
- )
169
- return " " .join (result .split ()).strip ()
164
+ result += __format_raw_surname (raw_surn_data )
165
+ return result .strip ()
170
166
171
167
172
168
def _raw_primary_surname (raw_surn_data_list ):
@@ -189,12 +185,7 @@ def _raw_primary_surname(raw_surn_data_list):
189
185
):
190
186
return ""
191
187
else :
192
- result = "%s %s %s" % (
193
- raw_surn_data [_PREFIX_IN_LIST ],
194
- raw_surn_data [_SURNAME_IN_LIST ],
195
- raw_surn_data [_CONNECTOR_IN_LIST ],
196
- )
197
- return " " .join (result .split ())
188
+ return __format_raw_surname (raw_surn_data ).strip ()
198
189
return ""
199
190
200
191
@@ -265,12 +256,7 @@ def _raw_patro_surname(raw_surn_data_list):
265
256
raw_surn_data [_TYPE_IN_LIST ][0 ] == _ORIGINPATRO
266
257
or raw_surn_data [_TYPE_IN_LIST ][0 ] == _ORIGINMATRO
267
258
):
268
- result = "%s %s %s" % (
269
- raw_surn_data [_PREFIX_IN_LIST ],
270
- raw_surn_data [_SURNAME_IN_LIST ],
271
- raw_surn_data [_CONNECTOR_IN_LIST ],
272
- )
273
- return " " .join (result .split ())
259
+ return __format_raw_surname (raw_surn_data ).strip ()
274
260
return ""
275
261
276
262
@@ -321,26 +307,17 @@ def _raw_nonpatro_surname(raw_surn_data_list):
321
307
and raw_surn_data [_TYPE_IN_LIST ][0 ] != _ORIGINPATRO
322
308
and raw_surn_data [_TYPE_IN_LIST ][0 ] != _ORIGINMATRO
323
309
):
324
- result += "%s %s %s " % (
325
- raw_surn_data [_PREFIX_IN_LIST ],
326
- raw_surn_data [_SURNAME_IN_LIST ],
327
- raw_surn_data [_CONNECTOR_IN_LIST ],
328
- )
329
- return " " .join (result .split ()).strip ()
310
+ result += __format_raw_surname (raw_surn_data )
311
+ return result .strip ()
330
312
331
313
332
314
def _raw_nonprimary_surname (raw_surn_data_list ):
333
315
"""method for the 'r' symbol: nonprimary surnames"""
334
316
result = ""
335
317
for raw_surn_data in raw_surn_data_list :
336
318
if not raw_surn_data [_PRIMARY_IN_LIST ]:
337
- result = "%s %s %s %s" % (
338
- result ,
339
- raw_surn_data [_PREFIX_IN_LIST ],
340
- raw_surn_data [_SURNAME_IN_LIST ],
341
- raw_surn_data [_CONNECTOR_IN_LIST ],
342
- )
343
- return " " .join (result .split ())
319
+ result += __format_raw_surname (raw_surn_data )
320
+ return result .strip ()
344
321
345
322
346
323
def _raw_prefix_surname (raw_surn_data_list ):
@@ -373,7 +350,23 @@ def cleanup_name(namestring):
373
350
else :
374
351
result += " " + val
375
352
376
- result = result .replace (" - " , "-" )
353
+ return result
354
+
355
+
356
+ def __format_raw_surname (raw_surn_data ):
357
+ """
358
+ Return a formatted string representing one surname part.
359
+
360
+ If the connector is a hyphen, don't pad it with spaces.
361
+ """
362
+ result = raw_surn_data [_PREFIX_IN_LIST ]
363
+ if result :
364
+ result += " "
365
+ result += raw_surn_data [_SURNAME_IN_LIST ]
366
+ if result and raw_surn_data [_CONNECTOR_IN_LIST ] != "-" :
367
+ result += " %s " % raw_surn_data [_CONNECTOR_IN_LIST ]
368
+ else :
369
+ result += raw_surn_data [_CONNECTOR_IN_LIST ]
377
370
return result
378
371
379
372
0 commit comments