Used a more sophisticated algorithm for separation of person name parts in the photo_name() method. Added support for 'Dr' (without dot) as a titular prefix.

- Legacy-Id: 11275
This commit is contained in:
Henrik Levkowetz 2016-06-05 09:54:13 +00:00
parent fe50693d09
commit ed583bcc5f
2 changed files with 4 additions and 3 deletions

View file

@ -94,7 +94,8 @@ class PersonInfo(models.Model):
def photo_name(self,thumb=False):
hasher = Hashids(salt='Person photo name salt',min_length=5)
return '%s-%s%s' % ( slugify(self.ascii), hasher.encode(self.id), '-th' if thumb else '' )
_, first, _, last, _ = name_parts(self.ascii)
return '%s-%s%s' % ( slugify("%s %s" % (first, last)), hasher.encode(self.id), '-th' if thumb else '' )
class Meta:
abstract = True

View file

@ -13,7 +13,7 @@ def name_parts(name):
if len(parts) > 2 and parts[0] in ["M", "M.", "Sri", ] and "." not in parts[1]:
prefix = parts[0];
parts = parts[1:]
if parts[0] in ["Mr", "Mr.", "Mrs", "Mrs.", "Ms", "Ms.", "Miss", "Dr.", "Doctor", "Prof", "Prof.", "Professor", "Sir", "Lady", "Dame", ]:
if parts[0] in ["Mr", "Mr.", "Mrs", "Mrs.", "Ms", "Ms.", "Miss", "Dr", "Dr.", "Doctor", "Prof", "Prof.", "Professor", "Sir", "Lady", "Dame", ]:
prefix = parts[0];
parts = parts[1:]
if len(parts) > 2:
@ -52,4 +52,4 @@ if __name__ == "__main__":
name = " ".join(sys.argv[1:])
print name_parts(name)
print initials(name)