Grammalecte  Changes On Branch 5a7f3c6402398def

Changes In Branch dicfac Through [5a7f3c6402] Excluding Merge-Ins

This is equivalent to a diff from 825218be76 to 5a7f3c6402

2020-05-28
18:21
merge trunk check-in: 3ebde2f15f user: olr tags: dicfac
18:09
[fr] mise à jour du dictionnaire (dictionnaire avec affixes factorisés) check-in: 5a7f3c6402 user: olr tags: fr, dicfac
17:42
[fr][fx] WebExtension: install.rdf -> manifest.json check-in: 96301a30bf user: olr tags: fr, fx, dicfac
2020-05-19
06:19
[fr] faux positifs et ajustements check-in: 2239de16ce user: olr tags: trunk, fr
2020-05-16
18:42
[fr] màj affixes: apostrophe comme séparateur -> factorisation des drapeaux check-in: 14311e7c30 user: olr tags: fr, dicfac
16:39
[graphspell] comment about the test check-in: 825218be76 user: olr tags: trunk, graphspell
16:24
[graphspell] suggestions: test for improvement (+remove deprecated code) check-in: 5762496ac7 user: olr tags: trunk, graphspell

Deleted gc_lang/fr/dictionnaire/_templates/moz/install.rdf version [95b4de5d2f].

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



















































-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">

    <!-- https://developer.mozilla.org/en-US/docs/Install_Manifests -->
    <em:id>${mozId}@dictionaries.addons.mozilla.org</em:id>
    <em:version>${version}</em:version>
    <em:unpack>true</em:unpack>
    <em:type>64</em:type> <!-- dictionary -->

    <!-- Front End MetaData -->
    <em:name>Dictionnaire français</em:name>
    <em:description>${description}</em:description>
    <em:creator>Olivier R.</em:creator>
    <em:contributor>Olivier R.</em:contributor>
    <em:contributor>Sylvain P.</em:contributor>
    <em:contributor>Jean-Luc T.</em:contributor>
    <em:contributor>Laurent Dubois</em:contributor>
    <em:contributor>Dominique Pellé</em:contributor>
    <em:contributor>Pierre Poisson</em:contributor>
    <em:contributor>Pierre-Yves</em:contributor>
    <em:contributor>Renouvo</em:contributor>
    <em:homepageURL>https://grammalecte.net/</em:homepageURL>

    <em:targetApplication>
        <Description>
            <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- Firefox -->
            <em:minVersion>14.0</em:minVersion>
            <em:maxVersion>*</em:maxVersion>
        </Description>
    </em:targetApplication>

    <em:targetApplication>
        <Description>
            <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <!-- Thunderbird -->
            <em:minVersion>14.0</em:minVersion>
            <em:maxVersion>61.*</em:maxVersion>
        </Description>
    </em:targetApplication>

    <em:targetApplication>
        <Description>
            <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <!-- SeaMonkey -->
            <em:minVersion>2.12</em:minVersion>
            <em:maxVersion>*</em:maxVersion>
        </Description>
    </em:targetApplication>

  </Description>
</RDF>

Added gc_lang/fr/dictionnaire/_templates/moz/manifest.json version [2b859e0ab8].























1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{
    "name": "Dictionnaire français",
    "short_name": "French Dict.",

    "version": "${version}",

    "description": "Dictionnaire orthographique pour la langue française.",

    "dictionaries": {
        "fr": "dictionaries/fr-classic.dic"
    },

    "homepage_url": "https://grammalecte.net",

    "browser_specific_settings": {
        "gecko": {
            "id": "fr-dicollecte@dictionaries.addons.mozilla.org"
        }
    },

    "manifest_version": 2
}

Modified gc_lang/fr/dictionnaire/genfrdic.py from [9dbea97923] to [284dd6c8e1].

586
587
588
589
590
591
592
593

594
595
596
597
598
599
600
586
587
588
589
590
591
592

593
594
595
596
597
598
599
600







-
+







    def createMozillaExtensions (self, spBuild, dTplVars, lDictVars, spDestGL=""):
        # Mozilla extension 1
        echo(" * Dictionnaire >> extension pour Mozilla")
        dTplVars['version'] = self.sVersion
        sExtensionName = EXT_PREFIX_MOZ + self.sVersion
        spExt = spBuild + '/' + sExtensionName
        dir_util.mkpath(spExt+'/dictionaries')
        copyTemplate('_templates/moz', spExt, 'install.rdf', dTplVars)
        copyTemplate('_templates/moz', spExt, 'manifest.json', dTplVars)
        spDict = spBuild + '/' + PREFIX_DICT_PATH + self.sVersion
        file_util.copy_file(spDict+'/fr-classique.dic', spExt+'/dictionaries/fr-classic.dic')
        file_util.copy_file(spDict+'/fr-classique.aff', spExt+'/dictionaries/fr-classic.aff')
        copyTemplate('orthographe', spExt, 'README_dict_fr.txt', dTplVars)
        createZipFiles(spExt, spBuild, sExtensionName + '.xpi')
        # Grammalecte
        if spDestGL:
808
809
810
811
812
813
814
815

816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
808
809
810
811
812
813
814

815
816
817
818
819
820
821
822


823
824



825
826
827
828
829
830
831







-
+







-
-


-
-
-







            sErr += 'lemme vide'
        if re.match(r"^\s", self.lemma):
            sErr += 'premier caractère un espace dans <' + self.lemma + '>'
        if re.search(r"\s$", self.lemma):
            sErr += 'espace en fin de lemme'
        if re.match(r"v[0123]", self.po) and not re.match(r"[eas_][ix_][tx_][nx_][pqreuvx_][mx_][ex_z][ax_z]\b", self.po[2:]):
            sErr += 'verbe inconnu: ' + self.po
        if (re.match(r"S[*.]", self.flags) and re.search("[sxz]$", self.lemma)) or (re.match(r"X[*.]", self.flags) and not re.search("[ul]$", self.lemma)):
        if (re.match(r"S[.]", self.flags) and re.search("[sxz]$", self.lemma)) or (re.match(r"X[.]", self.flags) and not re.search("[ul]$", self.lemma)):
            sErr += 'drapeau inutile'
        if self.iz == '' and re.match(r"[SXAI](?!=)", self.flags) and self.po:
            sErr += '[is] vide'
        if re.match(r"pl|sg|inv", self.iz):
            sErr += '[is] incomplet'
        if re.match(r"[FW]", self.flags) and re.search(r"epi|mas|fem|inv|sg|pl", self.iz):
            sErr += '[is] incohérent'
        if re.match(r".\*", self.flags) and re.match(r"[bcdfgjklmnpqrstvwxz]", self.lemma):
            sErr += 'drapeau pour lemme commençant par une voyelle'
        if re.search(r"pl|sg|inv", self.iz) and re.match(r"[SXAIFW](?!=)", self.flags):
            sErr += '[is] incohérent'
        if re.search(r"nom|adj", self.po) and re.match(r"(?i)[aâàäáeéèêëiîïíìoôöóòuûüúù]", self.lemma) and re.match("[SFWXAI][.]", self.flags) \
           and "pel" not in self.lx:
            sErr += 'le drapeau derait finir avec *'
        if self.iz.endswith(("mas", "fem", "epi")) and (not self.flags or not self.flags.startswith(("S", "X", "F", "W", "A", "I", "U"))):
            sErr += '[is] incomplet'
        if self.flags.startswith(("a", "b", "c", "d")) and not self.lemma.endswith("er"):
            sErr += "drapeau pour verbe du 1ᵉʳ groupe sur un lemme non conforme"
        if self.flags.startswith("f") and not self.lemma.endswith(("ir", "ïr")):
            sErr += "drapeau pour verbe du 2ᵉ groupe sur un lemme non conforme"
        if sErr:
938
939
940
941
942
943
944
945

946
947
948
949
950
951
952
933
934
935
936
937
938
939

940
941
942
943
944
945
946
947







-
+







            morph = self.lexMorph()
        lFlexions = [(self.lemma, morph, self.di)]  if iPR == 0 and not self.flags.endswith('()')  else []
        lFlexPrefix = []
        lFlexSuffix = []
        for sFlag in makeLongFlags(self.flags):
            if sFlag not in dFlags:
                if sFlag not in ['**', '()', '||', '--']:
                    lFlexions.append( (self.lemma, '[unknown flag: {}]'.format(sFlag)) )
                    lFlexions.append( (self.lemma, '[unknown flag: {}]'.format(sFlag), self.di) )
                    echo("ERROR: "  + self.lemma + ' - unknown flag: ' + sFlag)
            else:
                oFlag = dFlags[sFlag]
                if not oFlag.bSfx:
                    # cas des préfixes
                    for oRule in oFlag.lRules:
                        if oRule.motif.search(self.lemma):

Modified gc_lang/fr/dictionnaire/orthographe/FRANCAIS.dic from [3ea594acba] to [76f883f0c7].

more than 10,000 changes

Modified gc_lang/fr/dictionnaire/orthographe/FRANCAIS_5.aff from [72dbf0e245] to [c1a902b87e].

more than 10,000 changes