Download SourceCode/Models/Lexicon/RootAndPatterns/VoweledVerbalPattern.py from kachaf/qutuf: direct link, hf CLI and curl.
- Browser
- Download file 9.85 kB
-
https://huggingface.co/spaces/kachaf/qutuf/resolve/main/SourceCode/Models/Lexicon/RootAndPatterns/VoweledVerbalPattern.py
- Command line
-
hf download hf://spaces/kachaf/qutuf/SourceCode/Models/Lexicon/RootAndPatterns/VoweledVerbalPattern.py
-
curl -L -o VoweledVerbalPattern.py https://huggingface.co/spaces/kachaf/qutuf/resolve/main/SourceCode/Models/Lexicon/RootAndPatterns/VoweledVerbalPattern.py
9.85 kB
| ''' | |
| Created on ูขูจโ/ู ูคโ/ูขู ูกู | |
| @Created by: Muhammad Altabba | |
| ''' | |
| from ...Lexicon.RootAndPatterns.Root import *; | |
| from ...Lexicon.RootAndPatterns.VoweledPattern import *; | |
| from ...Tagging.POSTags.VerbalPOS import *; | |
| class VoweledVerbalPattern(VoweledPattern): | |
| """ | |
| # PyUML: Do not remove this line! # XMI_ID:_qz4WZ435Ed-gg8GOK1TmhA | |
| """ | |
| ''' | |
| classdocs | |
| ''' | |
| def __init__(self, id, voweledForm, canonicForm): | |
| ''' | |
| Constructor | |
| ''' | |
| self.ID = id; | |
| self.VoweledForm = voweledForm; | |
| self.CanonicForm = canonicForm; | |
| self.POS = VerbalPOS(); | |
| self.POS.MainClass = VerbalPOSConstants.MainClass.Verb; | |
| pass | |
| def AssignFromAlKhalilDB(self, type, cas, ncg, aug, trans): | |
| if type == "ู ู ": | |
| # "ูุนู ู ุงุถ ู ุจูู ููู ุนููู " | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Perfective; | |
| self.POS.Activeness = VerbalPOSConstants.Activeness.Active; | |
| elif type == "ู ุฌ": | |
| # "ูุนู ู ุงุถ ู ุจูู ููู ุฌููู" | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Perfective; | |
| self.POS.Activeness = VerbalPOSConstants.Activeness.Passive; | |
| elif type == "ุถู ": | |
| # "ูุนู ู ุถุงุฑุน ู ุจูู ููู ุนููู " | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Imperfective; | |
| self.POS.Activeness = VerbalPOSConstants.Activeness.Active; | |
| self.POS.Asserted = VerbalPOSConstants.Asserted.Unasserted; | |
| elif type == "ุถุกู ": | |
| # "ูุนู ู ุถุงุฑุน ู ุคูุฏ ู ุจูู ููู ุนููู " | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Imperfective; | |
| self.POS.Activeness = VerbalPOSConstants.Activeness.Active; | |
| self.POS.Asserted = VerbalPOSConstants.Asserted.Asserted; | |
| elif type == "ุถุฌ": | |
| # "ูุนู ู ุถุงุฑุน ู ุจูู ููู ุฌููู" | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Imperfective; | |
| self.POS.Activeness = VerbalPOSConstants.Activeness.Passive; | |
| self.POS.Asserted = VerbalPOSConstants.Asserted.Unasserted; | |
| elif type == "ุถุกุฌ": | |
| # "ูุนู ู ุถุงุฑุน ู ุคูุฏ ู ุจูู ููู ุฌููู" | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Imperfective; | |
| self.POS.Activeness = VerbalPOSConstants.Activeness.Passive; | |
| self.POS.Asserted = VerbalPOSConstants.Asserted.Asserted; | |
| elif type == "ุฃ": | |
| # "ูุนู ุฃู ุฑ" | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Imperative; | |
| self.POS.Asserted = VerbalPOSConstants.Asserted.Unasserted; | |
| elif type == "ุฃุก": | |
| # "ูุนู ุฃู ุฑ ู ุคูุฏ" | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.Imperative; | |
| self.POS.Asserted = VerbalPOSConstants.Asserted.Asserted; | |
| elif type == "#": | |
| # ุญู ูุน ุงูุญุงูุงุช | |
| self.POS.Aspect = VerbalPOSConstants.Aspect.all_Cases; | |
| self.POS.Activeness = VerbalPOSConstants.Activeness.all_Cases; | |
| self.POS.Asserted = VerbalPOSConstants.Asserted.all_Cases; | |
| else: | |
| raise Exception('This [type] for Verbal Pattern is unknown!, ['+str(type)+']'); | |
| if cas == "ุฑ": | |
| # "ู ุฑููุน" | |
| self.POS.CaseAndMood = VerbalPOSConstants.CaseAndMood.NominativeOrIndicative; | |
| elif cas == "ู": | |
| # "ู ูุตูุจ" | |
| self.POS.CaseAndMood = VerbalPOSConstants.CaseAndMood.AccusativeOrSubjunctive; | |
| elif cas == "ุฌ": | |
| # "ู ุฌุฒูู " | |
| self.POS.CaseAndMood = VerbalPOSConstants.CaseAndMood.GenitiveOrJussive; | |
| elif cas == "": | |
| # ุญู ูุน ุงูุญุงูุงุช | |
| if(self.POS.Aspect == VerbalPOSConstants.Aspect.Imperative or \ | |
| self.POS.Aspect == VerbalPOSConstants.Aspect.Perfective): | |
| self.POS.CaseAndMood = VerbalPOSConstants.CaseAndMood.Inapplicable; | |
| else: | |
| self.POS.CaseAndMood = VerbalPOSConstants.CaseAndMood.Unprocessed; | |
| # elif cas == "#": | |
| ## ุญู ูุน ุงูุญุงูุงุช | |
| # self.POS.CaseAndMood = VerbalPOSConstants.CaseAndMood.all_Cases; | |
| else: | |
| raise Exception('This [cas] for Verbal Pattern is unknown!, ['+cas+']'); | |
| if ncg.isnumeric() or (ncg[0] == '-' and ncg[1:].isnumeric()): | |
| ncg = int(ncg); | |
| if ncg == 1: | |
| # "ู ุณูุฏ ุฅูู ุงูู ุชููู ุฃูุง" | |
| self.POS.Number = VerbalPOSConstants.Number.Singular; | |
| self.POS.Gender = VerbalPOSConstants.Gender.all_Cases; | |
| self.POS.Person = VerbalPOSConstants.Person.First_Person; | |
| elif ncg == 2: | |
| # "ู ุณูุฏ ุฅูู ุงูู ุชููู ูู (ูุญู)" | |
| self.POS.Number = VerbalPOSConstants.Number.Plural; | |
| self.POS.Gender = VerbalPOSConstants.Gender.all_Cases; | |
| self.POS.Person = VerbalPOSConstants.Person.First_Person; | |
| elif ncg == 3: | |
| # "ู ุณูุฏ ุฅูู ุงูู ุฎุงุทูุจ ุฃูุช" | |
| self.POS.Number = VerbalPOSConstants.Number.Singular; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Masculine; | |
| self.POS.Person = VerbalPOSConstants.Person.Second_Person; | |
| elif ncg == 4: | |
| # "ู ุณูุฏ ุฅูู ุงูู ุฎุงุทุจุฉ (ุฃูุชู)" | |
| self.POS.Number = VerbalPOSConstants.Number.Singular; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Feminine; | |
| self.POS.Person = VerbalPOSConstants.Person.Second_Person; | |
| elif ncg == 5: | |
| # "ู ุณูุฏ ุฅูู ุงูู ุฎุงุทูุจููู (ุฃูุชู ุง)" | |
| self.POS.Number = VerbalPOSConstants.Number.Dual; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Masculine; | |
| self.POS.Person = VerbalPOSConstants.Person.Second_Person; | |
| elif ncg == 6: | |
| # "ู ุณูุฏ ุฅูู ุงูู ุฎุงุทุจูู (ุฃูุชู )" | |
| self.POS.Number = VerbalPOSConstants.Number.Plural; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Masculine; | |
| self.POS.Person = VerbalPOSConstants.Person.Second_Person; | |
| elif ncg == 7: | |
| # "ู ุณูุฏ ุฅูู ุงูู ุฎุงุทูุจุงุช (ุฃูุชู)" | |
| self.POS.Number = VerbalPOSConstants.Number.Plural; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Feminine; | |
| self.POS.Person = VerbalPOSConstants.Person.Second_Person; | |
| elif ncg == 8: | |
| # "ู ุณูุฏ ุฅูู ุงูุบุงุฆุจ (ูู)" | |
| self.POS.Number = VerbalPOSConstants.Number.Singular; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Masculine; | |
| self.POS.Person = VerbalPOSConstants.Person.Third_Person; | |
| elif ncg == 9: | |
| # "ู ุณูุฏ ุฅูู ุงูุบุงุฆุจุฉ (ูู)" | |
| self.POS.Number = VerbalPOSConstants.Number.Singular; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Feminine; | |
| self.POS.Person = VerbalPOSConstants.Person.Third_Person; | |
| elif ncg == 10: | |
| # "ู ุณูุฏ ุฅูู ุงูุบุงุฆุจููู (ูู ุง)" | |
| self.POS.Number = VerbalPOSConstants.Number.Dual; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Masculine; | |
| self.POS.Person = VerbalPOSConstants.Person.Third_Person; | |
| elif ncg == 11: | |
| # "ู ุณูุฏ ุฅูู ุงูุบุงุฆุจุชูู (ูู ุง)" | |
| self.POS.Number = VerbalPOSConstants.Number.Dual; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Feminine; | |
| self.POS.Person = VerbalPOSConstants.Person.Third_Person; | |
| elif ncg == 12: | |
| # "ู ุณูุฏ ุฅูู ุงูุบุงุฆุจูู (ูู )" | |
| self.POS.Number = VerbalPOSConstants.Number.Plural; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Masculine; | |
| self.POS.Person = VerbalPOSConstants.Person.Third_Person; | |
| elif ncg == 13: | |
| # "ู ุณูุฏ ุฅูู ุงูุบุงุฆุจุงุช (ูู)" | |
| self.POS.Number = VerbalPOSConstants.Number.Singular; | |
| self.POS.Gender = VerbalPOSConstants.Gender.Feminine; | |
| self.POS.Person = VerbalPOSConstants.Person.Third_Person; | |
| elif ncg == "#": | |
| self.POS.Number = VerbalPOSConstants.Number.all_Cases; | |
| self.POS.Gender = VerbalPOSConstants.Gender.all_Cases; | |
| self.POS.Person = VerbalPOSConstants.CaseAndMood.all_Cases; | |
| else: | |
| raise Exception('This [ncg] for Verbal Pattern is unknown!, ['+str(ncg)+']'); | |
| # ุงูู ุฌุฑูุฏ ูุงูู ุฒูุฏ (aug): | |
| if (aug == "ุฌุฑ"): | |
| # "ุฌุฑ" => "ู ุฌุฑุฏ" | |
| self.POS.IsAugmented = False; | |
| elif (aug == "ุฒู"): | |
| # "ุฒู" => "ู ุฒูุฏ" | |
| self.POS.IsAugmented = True; | |
| elif (aug == "#"): | |
| self.POS.IsAugmented = None; | |
| else: | |
| raise Exception('This [aug] for Verbal Pattern is unknown!, ['+str(aug)+']'); | |
| # ุงููุฒูู ูุงูุชุนุฏู (trans): | |
| if (trans == "ู"): | |
| # "ู" => "ูุงุฒู " | |
| self.POS.Transitive = VerbalPOSConstants.Transitive.Intransitive; | |
| elif (trans == "ู "): | |
| # "ู " => "ู ุชุนุฏ" | |
| self.POS.Transitive = 0; | |
| self.POS.Transitive += VerbalPOSConstants.Transitive.Transitive_for_1; | |
| self.POS.Transitive += VerbalPOSConstants.Transitive.Transitive_for_2; | |
| self.POS.Transitive += VerbalPOSConstants.Transitive.Transitive_for_3; | |
| elif (trans == "ู"): | |
| # "ู" => "ูุงุฒู ูู ุชุนุฏ" | |
| self.POS.Transitive = VerbalPOSConstants.Transitive.all_Cases; | |
| else: | |
| raise Exception('This [trans] for Verbal Pattern is unknown!, ['+str(trans)+']'); | |
| self.POS.Perfectness = VerbalPOSConstants.Perfectness.Unprocessed; | |
| pass | |