MCPcopy Create free account
hub / github.com/clips/pattern / predicative

Function predicative

pattern/text/fr/inflect.py:248–300  ·  view source on GitHub ↗

Returns the predicative adjective (lowercase): belles => beau.

(adjective)

Source from the content-addressed store, hash-verified

246 raise NotImplementedError
247
248def predicative(adjective):
249 """ Returns the predicative adjective (lowercase): belles => beau.
250 """
251 w = adjective.lower()
252 if w.endswith(("ais", "ois")):
253 return w
254 if w.endswith((u"és", u"ée", u"ées")):
255 return w.rstrip("es")
256 if w.endswith(("que", "ques")):
257 return w.rstrip("s")
258 if w.endswith(("nts", "nte", "ntes")):
259 return w.rstrip("es")
260 if w.endswith("eaux"):
261 return w.rstrip("x")
262 if w.endswith(("aux", "ale", "ales")):
263 return w.rstrip("uxles") + "l"
264 if w.endswith(("rteuse", "rteuses", "ailleuse")):
265 return w.rstrip("es") + "r"
266 if w.endswith(("euse", "euses")):
267 return w.rstrip("es") + "x"
268 if w.endswith(("els", "elle", "elles")):
269 return w.rstrip("les") + "el"
270 if w.endswith(("ifs", "ive", "ives")):
271 return w.rstrip("es")[:-2] + "if"
272 if w.endswith(("is", "ie", "ies")):
273 return w.rstrip("es")
274 if w.endswith(("enne", "ennes")):
275 return w.rstrip("nes") + "en"
276 if w.endswith(("onne", "onnes")):
277 return w.rstrip("nes") + "n"
278 if w.endswith(("igne", "ignes", "ingue", "ingues")):
279 return w.rstrip("s")
280 if w.endswith((u"ène", u"ènes")):
281 return w.rstrip("s")
282 if w.endswith(("ns", "ne", "nes")):
283 return w.rstrip("es")
284 if w.endswith(("ite", "ites")):
285 return w.rstrip("es")
286 if w.endswith(("is", "ise", "ises")):
287 return w.rstrip("es") + "s"
288 if w.endswith(("rice", "rices")):
289 return w.rstrip("rices") + "eur"
290 if w.endswith(("iers", u"ière", u"ières")):
291 return w.rstrip("es")[:-3] + "ier"
292 if w.endswith(("ette", "ettes")):
293 return w.rstrip("tes") + "et"
294 if w.endswith(("rds", "rde", "rdes")):
295 return w.rstrip("es")
296 if w.endswith(("nds", "nde", "ndes")):
297 return w.rstrip("es")
298 if w.endswith(("us", "ue", "ues")):
299 return w.rstrip("es")
300 return w.rstrip("s")

Callers 1

find_lemmataFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…