File: venery.py

package info (click to toggle)
python3-proselint 0.14.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,220 kB
  • sloc: python: 7,173; sh: 6; makefile: 3
file content (88 lines) | stat: -rw-r--r-- 2,591 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
"""Names for groups of animals.

---
layout:     post
source:     Oxford Dictionaries
source_url: http://www.oxforddictionaries.com/words/what-do-you-call-a-group-of
title:      Names for groups of animals
date:       2014-06-10 12:31:19
categories: writing
---

Names for groups of animals.

"""
from proselint.tools import memoize, preferred_forms_check


@memoize
def check(text):
    """Check the text."""
    err = "oxford.venery_terms"
    msg = "The venery term is '{}'."

    term_list = [
        ["alligators",   "congregation"],
        ["antelopes",    "herd"],
        ["baboons",      "troop"],
        ["badgers",      "cete"],
        ["bats",         "colony"],
        ["bears",        "sloth"],
        ["buffalo",      "herd"],
        ["bullfinches",  "bellowing"],
        ["caribou",      "herd"],
        ["cats",         "glaring"],
        ["caterpillars", "army"],
        ["cockroaches",  "intrusion"],
        ["coyotes",      "pack"],
        ["crows",        "murder"],
        ["dogs",         "pack"],
        ["eagles",       "convocation"],
        ["emus",         "mob"],
        ["flamingos",    "stand"],
        ["frogs",        "army"],
        ["goldfinches",  "charm"],
        ["gorillas",     "band"],
        ["guineafowl",   "rasp"],
        ["hedgehogs",    "array"],
        ["herons",       "siege"],
        ["hogs",         "parcel"],
        ["hyenas",       "cackle"],
        ["ibex",         "herd"],
        ["iguanas",      "mess"],
        ["lions",        "pride"],
        ["locusts",      "plague"],
        ["mackerel",     "shoal"],
        ["mares",        "stud"],
        ["minnows",      "shoal"],
        ["moose",        "herd"],
        ["mosquitoes",   "scourge"],
        ["nightingales", "watch"],
        ["oysters",      "bed"],
        ["partridges",   "covey"],
        ["pelicans",     "pod"],
        ["raccoons",     "gaze"],
        ["ravens",       "unkindness"],
        ["rhinoceroses", "crash"],
        ["sea urchins",  "sea"],
        ["starlings",    "murmuration"],
        ["toads",        "knot"],
        ["wombats",      "wisdom"],
        ["woodcocks",    "fall"],
        ["woodpeckers",  "descent"],
        ["wrens",        "herd"],
    ]

    generic_terms = [
        "group",
        "bunch",
    ]

    list = []
    for term_pair in term_list:
        for generic in generic_terms:
            wrong = f"a {generic} of {term_pair[0]}"
            right = f"a {term_pair[1]} of {term_pair[0]}"
            list += [[right, [wrong]]]

    return preferred_forms_check(text, list, err, msg)