Skip to content

Commit b9542ec

Browse files
authored
Merge pull request #35 from bretttolbert/cleanup
Promoted applicable Inflector methods to public
2 parents 3ef849c + ac08f5a commit b9542ec

File tree

15 files changed

+318
-286
lines changed

15 files changed

+318
-286
lines changed

CHANGELOG.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
# verbecc Changelog
22

3+
- 1.11.6 [TBR]
4+
- Misc. cleanup
5+
- Promoted applicable `Inflector` methods to public
6+
37
- 1.11.5 [24 October 2025]
4-
- Fixed Spanish Voseo imperativo
8+
- Fixed Spanish Voseo imperativo afirmativo
59

610
- 1.11.4 [24 October 2025]
711
- Added support for Spanish Voseo
812

913
- 1.11.3 [19 October 2025]
1014
- improved typing
11-
- changed `Language` enum to `LangCodeISO639_1`
15+
- changed `Language` enum to `LangCodeISO639_1` (suggest `from verbecc import LangCodeISO639_1 as Lang`)
1216

1317
- 1.12.2 [17 October 2025]
1418
- Added typing for mood and tense using `StrEnum` (backwards-compatible with string values)
@@ -25,9 +29,9 @@
2529
- **Changes should be transparent to users of top level `Conjugator.conjugate` function, however in sub-level conjugate methods the `alternate: bool` parameter has been replaced with the `alternate_options: AlternateOptions` parameter.**
2630
- **Officially dropping support for python <=3.8. Python 3.8 has been EOL for over a year now. Update to python 3.9 or later. Now supporting Python 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14.**
2731
- Significant refactoring
28-
- Eliminated a lot of code duplication introduced during initial implementation of `include_alternates` option
29-
- Moved most language-specific conjugation logic into the `Inflector` sub-classes
30-
- Moved most language-agnostic conjugation logic into `Conjugator`
32+
- Eliminated a lot of code duplication introduced during initial implementation of `include_alternates` option
33+
- Moved most language-specific conjugation logic into the `Inflector` sub-classes
34+
- Moved most language-agnostic conjugation logic into `Conjugator`
3135
- Improved typing, now have typehint definitions for all returned data structures
3236
- Organized source tree into subdirectories
3337
- Added fixtures to optimize unit tests

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "verbecc"
7-
version = "1.11.5"
7+
version = "1.11.6"
88
dependencies = [
99
"cython>=3.1.4",
1010
"importlib_resources==6.4.5 ; python_version < '3.13'",

tests/test_inflectors/test_inflector_ca.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2961,12 +2961,12 @@ def test_inflector_ca_get_conj_obs_3(cg):
29612961

29622962

29632963
def test_inflector_ca_get_verb_stem_from_template_name(cg):
2964-
verb_stem = cg._inflector._get_verb_stem_from_template_name("parlar", "cant:ar")
2964+
verb_stem = cg._inflector.get_verb_stem_from_template_name("parlar", "cant:ar")
29652965
assert verb_stem == "parl"
29662966

29672967

29682968
def test_inflector_ca_get_verb_stem_from_template_name_2(cg):
2969-
verb_stem = cg._inflector._get_verb_stem_from_template_name("abandonar", "cant:ar")
2969+
verb_stem = cg._inflector.get_verb_stem_from_template_name("abandonar", "cant:ar")
29702970
assert verb_stem == "abandon"
29712971

29722972

tests/test_inflectors/test_inflector_es.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,7 @@ def test_inflector_es_get_conj_obs():
616616

617617

618618
def test_inflector_es_get_verb_stem_from_template_name():
619-
verb_stem = cg._inflector._get_verb_stem_from_template_name("abañar", "cort:ar")
619+
verb_stem = cg._inflector.get_verb_stem_from_template_name("abañar", "cort:ar")
620620
assert verb_stem == "abañ"
621621

622622

tests/test_inflectors/test_inflector_fr.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,27 +29,27 @@ def test_all_verbs_have_templates(cg):
2929

3030
def test_add_subjunctive_relative_prounoun(cg):
3131
assert (
32-
cg._inflector._add_subjunctive_relative_pronoun("tu manges", "")
32+
cg._inflector.add_subjunctive_relative_pronoun("tu manges", "")
3333
== "que tu manges"
3434
)
3535
assert (
36-
cg._inflector._add_subjunctive_relative_pronoun("il mange", "") == "qu'il mange"
36+
cg._inflector.add_subjunctive_relative_pronoun("il mange", "") == "qu'il mange"
3737
)
3838
assert (
39-
cg._inflector._add_subjunctive_relative_pronoun("elles mangent", "")
39+
cg._inflector.add_subjunctive_relative_pronoun("elles mangent", "")
4040
== "qu'elles mangent"
4141
)
4242

4343

44-
def test_add_reflexive_pronoun(cg):
45-
assert cg._inflector._add_reflexive_pronoun("lever") == "se lever"
46-
assert cg._inflector._add_reflexive_pronoun("écrouler") == "s'écrouler"
44+
def testadd_reflexive_pronoun(cg):
45+
assert cg._inflector.add_reflexive_pronoun("lever") == "se lever"
46+
assert cg._inflector.add_reflexive_pronoun("écrouler") == "s'écrouler"
4747

4848

49-
def test_split_reflexive(cg):
50-
assert cg._inflector._split_reflexive("se lever") == (True, "lever")
51-
assert cg._inflector._split_reflexive("s'écrouler") == (True, "écrouler")
52-
assert cg._inflector._split_reflexive("secouer") == (False, "secouer")
49+
def testsplit_reflexive(cg):
50+
assert cg._inflector.split_reflexive("se lever") == (True, "lever")
51+
assert cg._inflector.split_reflexive("s'écrouler") == (True, "écrouler")
52+
assert cg._inflector.split_reflexive("secouer") == (False, "secouer")
5353

5454

5555
@pytest.mark.parametrize(
@@ -61,8 +61,8 @@ def test_split_reflexive(cg):
6161
("manger", True),
6262
],
6363
)
64-
def test_inflector_fr_verb_can_be_reflexive(cg, infinitive, expected_result):
65-
assert cg._inflector._verb_can_be_reflexive(infinitive) == expected_result
64+
def test_inflector_frverb_can_be_reflexive(cg, infinitive, expected_result):
65+
assert cg._inflector.verb_can_be_reflexive(infinitive) == expected_result
6666

6767

6868
def test_inflector_fr_impersonal_verbs(cg):
@@ -125,18 +125,18 @@ def test_inflector_fr_conjugate_simple_mood_tense(cg):
125125

126126

127127
def test_inflector_fr_get_verb_stem_from_template_name(cg):
128-
verb_stem = cg._inflector._get_verb_stem_from_template_name("manger", "man:ger")
128+
verb_stem = cg._inflector.get_verb_stem_from_template_name("manger", "man:ger")
129129
assert verb_stem == "man"
130-
verb_stem = cg._inflector._get_verb_stem_from_template_name("téléphoner", "aim:er")
130+
verb_stem = cg._inflector.get_verb_stem_from_template_name("téléphoner", "aim:er")
131131
assert verb_stem == "téléphon"
132-
verb_stem = cg._inflector._get_verb_stem_from_template_name("vendre", "ten:dre")
132+
verb_stem = cg._inflector.get_verb_stem_from_template_name("vendre", "ten:dre")
133133
assert verb_stem == "ven"
134134
# In the case of irregular verbs, the verb stem is empty string
135-
verb_stem = cg._inflector._get_verb_stem_from_template_name("aller", ":aller")
135+
verb_stem = cg._inflector.get_verb_stem_from_template_name("aller", ":aller")
136136
assert verb_stem == ""
137137
# The infinitive ending must match the template ending
138138
with pytest.raises(ConjugatorError):
139-
verb_stem = cg._inflector._get_verb_stem_from_template_name("vendre", "man:ger")
139+
verb_stem = cg._inflector.get_verb_stem_from_template_name("vendre", "man:ger")
140140

141141

142142
@pytest.mark.parametrize(

tests/test_inflectors/test_inflector_it.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,9 @@ def test_inflector_it_conjugate(cg):
8383
assert cg.conjugate("avere") != None
8484

8585

86-
def test_inflector_it_add_subjunctive_relative_pronoun(cg):
86+
def test_inflector_itadd_subjunctive_relative_pronoun(cg):
8787
assert (
88-
cg._inflector._add_subjunctive_relative_pronoun("io abbia", "")
89-
== "che io abbia"
88+
cg._inflector.add_subjunctive_relative_pronoun("io abbia", "") == "che io abbia"
9089
)
9190

9291

0 commit comments

Comments
 (0)