jaraco/inflect

Words ending in 's' should never be pluralized by adding another 's'

Open

#161 opened on Jun 26, 2022

 (5 comments) (3 reactions) (0 assignees)Python (125 forks)github user discovery
featurehelp wanted

Repository metrics

Stars
 (1,082 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

stockings -> stockingss jeans -> jeanss sandals -> sandalss

How do I avoid this? I can fix the specific words with defnoun('jeans', 'jeans'), which corrects the result for an isolated string 'jeans' -> 'jeans'.

However, if I try to run plural_noun on 'blue jeans' instead of 'jeans' it then breaks again, returning 'blue jeanss'. I understand this is because 'blue jeans' appears to be a different string from 'jeans', but perhaps it should check the rules for the part of the string it is altering?

I've gotten around this so far by this incredibly hacky 'solution', so any improvement would obviously be immensely appreciated:

            plural = _INFLECT.plural_noun(key, count)
            if plural.endswith('ss'):
                plural = plural[0:-1]

Contributor guide