Package qutrub :: Package libqutrub :: Module mosaref_main
[hide private]
[frames] | no frames]

Module mosaref_main

source code

The main function to call qutrub conjugation from other programs.

Functions [hide private]
According to display_format.
do_sarf(word, future_type, all=True, past=False, future=False, passive=False, imperative=False, future_moode=False, confirmed=False, transitive=False, display_format='HTML')
The main function to conjugate verbs.
source code
unicode.
get_future_form(verb_vocalised, haraka=u'َ')
Get The future form of a verb.
source code
Variables [hide private]
  AIN = u'ع'
  ALEF = u'ا'
  ALEF4_HARAKA = u'y'
  ALEF_HAMZA_ABOVE = u'أ'
  ALEF_HAMZA_BELOW = u'إ'
  ALEF_HARAKA = u'ٰ'
  ALEF_MADDA = u'آ'
  ALEF_MAKSURA = u'ى'
  ALEF_MAMDUDA = '9'
  ALEF_WASLA = u'ٱ'
  ALEF_WAW_HARAKA = u'*'
  ALEF_YEH_ALTERNATIVE = u'x'
  ALEF_YEH_HARAKA = u'#'
  ALTERNATIVE_YEH_HARAKA = u't'
  AlefMaddaVerbTable = {u'آبل': [u'أءبل'], u'آبه': [u'أءبه'], u'...
  BEGIN_WORD = u'^'
  BEH = u'ب'
  BYTE_ORDER_MARK = u''
  COMMA = u'،'
  ConjugBab = u'باب التصريف'
  DAD = u'ض'
  DAL = u'د'
  DAMMA = u'ُ'
  DAMMATAN = u'ٌ'
  DECIMAL = u'٫'
  EIGHT = u'٨'
  END_WORD = u'$'
  FATHA = u'َ'
  FATHATAN = u'ً'
  FEH = u'ف'
  FIVE = u'٥'
  FOUR = u'٤'
  FULL_STOP = u'۔'
  GHAIN = u'غ'
  HAH = u'ح'
  HAMZA = u'ء'
  HAMZAT = (u'أ', u'ؤ', u'ئ', u'ء', u'إ')
  HAMZAT_pat = re.compile(r'(?u)[\u0623\u0624\u0626\u0621\u0625]')
  HAMZA_ABOVE = u'ٔ'
  HAMZA_BELOW = u'ٕ'
  HARAKAT = (u'ْ', u'َ', u'ُ', u'ِ')
  HARAKAT2 = u'ٰۥۦَُِْ'
  HARAKAT_NO_SHADDA_pat = re.compile(r'[\u064b\u064c\u064d\u064e...
  HARAKAT_pat = re.compile(r'[\u064b\u064c\u064d\u064e\u064f\u06...
  HEH = u'ه'
  ImperativePronouns = (u'أنت', u'أنتِ', u'أنتما', u'أنتما مؤ', ...
  IrregularVerbsConjug = {u'ءخذَُ': {u'الأمر': (u'خذ', u'ُْ'), u...
  JEEM = u'ج'
  KAF = u'ك'
  KASRA = u'ِ'
  KASRATAN = u'ٍ'
  KHAH = u'خ'
  LAM = u'ل'
  LAM_ALEF = u''
  LAM_ALEF_HAMZA_ABOVE = u''
  LAM_ALEF_HAMZA_BELOW = u''
  LAM_ALEF_MADDA_ABOVE = u''
  LAM_ALEF_pat = re.compile(r'(?u)[\ufef7\ufef9\ufef5]')
  LONG_HARAKAT = (u'ٰ', u'ۦ', u'ۥ', u'#', u'*')
  MADDA_ABOVE = u'ٓ'
  MEEM = u'م'
  MINI_ALEF = u'ٰ'
  NINE = u'٩'
  NOON = u'ن'
  NOT_DEF_HARAKA = u'ـ'
  ONE = u'١'
  OneTensePronoun = {u'أنا': '', u'أنت': '', u'أنتم': '', u'أنتم...
  PERCENT = u'٪'
  PronounAna = u'أنا'
  PronounAnta = u'أنت'
  PronounAnti = u'أنتِ'
  PronounAntum = u'أنتم'
  PronounAntuma = u'أنتما'
  PronounAntuma_f = u'أنتما مؤ'
  PronounAntunna = u'أنتن'
  PronounHum = u'هم'
  PronounHuma = u'هما'
  PronounHuma_f = u'هما مؤ'
  PronounHunna = u'هن'
  PronounHuwa = u'هو'
  PronounHya = u'هي'
  PronounNahnu = u'نحن'
  PronounsTable = (u'أنا', u'نحن', u'أنت', u'أنتِ', u'أنتما', u'...
  PronounsTableNotPassiveForUntransitive = (u'أنا', u'نحن', u'أن...
  QAF = u'ق'
  QUESTION = u'؟'
  REH = u'ر'
  SAD = u'ص'
  SEEN = u'س'
  SEMICOLON = u'؛'
  SEVEN = u'٧'
  SHADDA = u'ّ'
  SHEEN = u'ش'
  SIX = u'٦'
  SMALL_ALEF = u'ٰ'
  SMALL_WAW = u'ۥ'
  SMALL_YEH = u'ۦ'
  STAR = u'٭'
  STRIP_HARAKA = u'i'
  SUKUN = u'ْ'
  TAH = u'ط'
  TATWEEL = u'ـ'
  TEH = u'ت'
  TEH_MARBUTA = u'ة'
  THAL = u'ذ'
  THEH = u'ث'
  THOUSANDS = u'٬'
  THREE = u'٣'
  TWO = u'٢'
  TabDisplay = {u'أنا': u'1', u'أنت': u'3', u'أنتم': u'7', u'أنت...
  TableConjug = {u'الأمر': {u'أنا': '', u'أنت': '', u'أنتم': '',...
  TableIndicativeTense = [u'الماضي المعلوم', u'المضارع المعلوم',...
  TablePassiveTense = [u'الماضي المجهول', u'المضارع المجهول', u'...
  TableTense = [u'الماضي المعلوم', u'المضارع المعلوم', u'المضارع...
  TableTensePronoun = {u'الأمر': {u'أنت': [u'', u'ْ'], u'أنتم': ...
  TenseConfirmedFuture = u'المضارع المؤكد الثقيل'
  TenseConfirmedImperative = u'الأمر المؤكد'
  TenseFuture = u'المضارع المعلوم'
  TenseImperative = u'الأمر'
  TenseJussiveFuture = u'المضارع المجزوم'
  TensePassiveConfirmedFuture = u'المضارع المؤكد الثقيل المجهول '
  TensePassiveFuture = u'المضارع المجهول'
  TensePassiveJussiveFuture = u'المضارع المجهول المجزوم'
  TensePassivePast = u'الماضي المجهول'
  TensePassiveSubjunctiveFuture = u'المضارع المجهول المنصوب'
  TensePast = u'الماضي المعلوم'
  TenseSubjunctiveFuture = u'المضارع المنصوب'
  TriVerbTable = {u'آبَ1': {'bab': 1, 'haraka': u'ضمة', 'root': ...
  TriVerbTableMap = {'bab': 'bab', 'haraka': 'haraka', 'root': '...
  TriVerbTable_INDEX = {u'ءءب': [u'آبَ1', u'آبَ2'], u'ءءد': [u'آ...
  UNIFORMATE_MARKS_4 = u'َََْ'
  UNIFORMATE_MARKS_5 = u'َََِْ'
  UNIFORMATE_MARKS_5TEH = u'ََََْ'
  UNIFORMATE_MARKS_6 = u'َََِْْ'
  VALID_INFINITIVE_VERB4_pat = re.compile(r'(?u)^([\u0623\u0621]...
  VALID_INFINITIVE_VERB5_pat = re.compile(r'(?u)^\u0627...\u0651...
  VALID_INFINITIVE_VERB6_pat = re.compile(r'(?u)^\u0627\u0633\u0...
  WAW = u'و'
  WAW_HAMZA = u'ؤ'
  WAW_HARAKA = u'ۥ'
  YEH = u'ي'
  YEH_HAMZA = u'ئ'
  YEH_HARAKA = u'ۦ'
  YEH_NAKISA = '5'
  ZAH = u'ظ'
  ZAIN = u'ز'
  ZERO = u'٠'
  __package__ = 'qutrub.libqutrub'
  future = {u'أنا': [u'أ', u'ُ'], u'أنت': [u'ت', u'ُ'], u'أنتم':...
  future_confirmed = {u'أنا': [u'أ', u'َنَّ'], u'أنت': [u'ت', u'...
  future_majzoom = {u'أنا': [u'أ', u'ْ'], u'أنت': [u'ت', u'ْ'], ...
  future_mansoub = {u'أنا': [u'أ', u'َ'], u'أنت': [u'ت', u'َ'], ...
  imperative = {u'أنت': [u'', u'ْ'], u'أنتم': [u'', u'ُوٱ'], u'أ...
  imperative_confirmed = {u'أنت': [u'', u'َنَّ'], u'أنتم': [u'',...
  past = {u'أنا': [u'', u'ْتُ'], u'أنت': [u'', u'ْتَ'], u'أنتم':...
  simple_LAM_ALEF = u'لا'
  simple_LAM_ALEF_HAMZA_ABOVE = u'لأ'
  simple_LAM_ALEF_HAMZA_BELOW = u'لإ'
  simple_LAM_ALEF_MADDA_ABOVE = u'لءَا'
  tab_homogenize_alef_haraka = {u'َ': {u'َ': u'ٰ', u'ُ': u'ٰ', u...
  tab_sarf = {0: {'future': u'ِ', 'past': u'َ'}, 1: {'future': u...
  tab_tahmeez_final = {u'^': {u'َ': u'أ', u'ُ': u'أ', u'ِ': u'إ'...
  tab_tahmeez_initial = {u't': u'إ', u'َ': u'أ', u'ُ': u'أ', u'ِ...
  tab_tahmeez_middle = {u'َ': {u'َ': u'أ', u'ُ': u'ؤ', u'ِ': u'ئ...
  written_haraka = {u'#': u'َا', u'*': u'َا', u't': u'ِي', u'ـ':...
Function Details [hide private]

do_sarf(word, future_type, all=True, past=False, future=False, passive=False, imperative=False, future_moode=False, confirmed=False, transitive=False, display_format='HTML')

source code 

The main function to conjugate verbs. You must specify all parameters. Can be used as an example to call the conjugation class.

Parameters:
  • word (unicode.) - the givern verb. the given word must be vocalized, if it's 3 letters length only, else, the verb can be unvocalized, but the Shadda must be given, it' considered as letter.
  • future_type (unicode(فتحة، ضمة، كسرة).) - For Triliteral verbs, you must give the mark of Ain in the future, حركة عين الفعل في المضارع. it's given as a name of haraka (فتحة، ضمة، كسرة).
  • all (Boolean, default(True)) - conjugate in all arabic tenses.
  • past (Boolean, default(False)) - conjugate in past tense ألماضي
  • future (Boolean, default(False)) - conjugate in arabic present and future tenses المضارع
  • passive (Boolean, default(False)) - conjugate in passive voice المبني للمجهول
  • imperative (Boolean, default(False)) - conjugate in imperative tense الأمر
  • future_moode (Boolean, default(False)) - conjugate in future moode tenses المضارع المنصوب والمجزوم
  • confirmed (Boolean, default(False)) - conjugate in confirmed cases tense المؤكّد
  • transitive (Boolean, default(False)) - the verb transitivity التعدي واللزوم
  • display_format (string, default("HTML")) - Choose the display format:
    • 'Text':
    • 'HTML':
    • 'HTMLColoredDiacritics':
    • 'DICT':
    • 'CSV':
    • 'GUI':
    • 'TABLE':
    • 'XML':
    • 'TeX':
    • 'ROWS':
Returns: According to display_format.
The conjugation result

get_future_form(verb_vocalised, haraka=u'َ')

source code 

Get The future form of a verb. for example the future form of qal with Damma as a Haraka of future verb, we get yqolu. الحصول على صيغة الفعل في المضارع، فالفعل قال، وحركة عينه في المضارع صمة، نحصل على يقول.

Parameters:
  • verb_vocalised (unicode.) - given verb.
  • haraka (unicode.) - the future mark for triverbs.
Returns: unicode.
The conjugated form in the future tense.

Variables Details [hide private]

AlefMaddaVerbTable

Value:
{u'آبل': [u'أءبل'],
 u'آبه': [u'أءبه'],
 u'آبى': [u'أءبى'],
 u'آتم': [u'أءتم'],
 u'آتن': [u'أءتن'],
 u'آتى': [u'أءتى'],
 u'آثر': [u'أءثر'],
 u'آثف': [u'أءثف'],
...

HARAKAT_NO_SHADDA_pat

Value:
re.compile(r'[\u064b\u064c\u064d\u064e\u064f\u0650\u0652]')

HARAKAT_pat

Value:
re.compile(r'[\u064b\u064c\u064d\u064e\u064f\u0650\u0652\u0651]')

ImperativePronouns

Value:
(u'أنت', u'أنتِ', u'أنتما', u'أنتما مؤ', u'أنتم', u'أنتن')

IrregularVerbsConjug

Value:
{u'ءخذَُ': {u'الأمر': (u'خذ', u'ُْ'),
            u'المضارع المجهول': (u'ءخذ', u'ََُْ'),
            u'المضارع المعلوم': (u'ءخذ', u'َُُْ'),
            u'باب التصريف': (u'َ', u'ُ')},
 u'ءريََ': {u'الأمر': (u'ءري', u'ََِ'),
            u'المضارع المجهول': (u'ري', u'ََُ'),
            u'المضارع المعلوم': (u'ري', u'َُِ'),
            u'باب التصريف': (u'َ', u'َ')},
...

OneTensePronoun

Value:
{u'أنا': '',
 u'أنت': '',
 u'أنتم': '',
 u'أنتما': '',
 u'أنتما مؤ': '',
 u'أنتن': '',
 u'أنتِ': '',
 u'نحن': '',
...

PronounsTable

Value:
(u'أنا',
 u'نحن',
 u'أنت',
 u'أنتِ',
 u'أنتما',
 u'أنتما مؤ',
 u'أنتم',
 u'أنتن',
...

PronounsTableNotPassiveForUntransitive

Value:
(u'أنا',
 u'نحن',
 u'أنت',
 u'أنتِ',
 u'أنتما',
 u'أنتما مؤ',
 u'أنتم',
 u'أنتن',
...

TabDisplay

Value:
{u'أنا': u'1',
 u'أنت': u'3',
 u'أنتم': u'7',
 u'أنتما': u'5',
 u'أنتما مؤ': u'6',
 u'أنتن': u'8',
 u'أنتِ': u'',
 u'الأمر': u'22',
...

TableConjug

Value:
{u'الأمر': {u'أنا': '',
            u'أنت': '',
            u'أنتم': '',
            u'أنتما': '',
            u'أنتما مؤ': '',
            u'أنتن': '',
            u'أنتِ': '',
            u'نحن': '',
...

TableIndicativeTense

Value:
[u'الماضي المعلوم',
 u'المضارع المعلوم',
 u'المضارع المجزوم',
 u'المضارع المنصوب',
 u'المضارع المؤكد الثقيل',
 u'الأمر',
 u'الأمر المؤكد']

TablePassiveTense

Value:
[u'الماضي المجهول',
 u'المضارع المجهول',
 u'المضارع المجهول المجزوم',
 u'المضارع المجهول المنصوب',
 u'المضارع المؤكد الثقيل المجهول ']

TableTense

Value:
[u'الماضي المعلوم',
 u'المضارع المعلوم',
 u'المضارع المجزوم',
 u'المضارع المنصوب',
 u'المضارع المؤكد الثقيل',
 u'الأمر',
 u'الأمر المؤكد',
 u'الماضي المجهول',
...

TableTensePronoun

Value:
{u'الأمر': {u'أنت': [u'', u'ْ'],
            u'أنتم': [u'', u'ُوٱ'],
            u'أنتما': [u'', u'َا'],
            u'أنتما مؤ': [u'', u'َا'],
            u'أنتن': [u'', u'ْنَ'],
            u'أنتِ': [u'', u'ِي']},
 u'الأمر المؤكد': {u'أنت': [u'', u'َنَّ'],
                   u'أنتم': [u'', u'ُنَّ'],
...

TriVerbTable

Value:
{u'آبَ1': {'bab': 1,
           'haraka': u'ضمة',
           'root': u'ءوب',
           'transitive': u'ك',
           'verb': u'آبَ'},
 u'آبَ2': {'bab': 2,
           'haraka': u'كسرة',
           'root': u'ءيب',
...

TriVerbTableMap

Value:
{'bab': 'bab',
 'haraka': 'haraka',
 'root': 'root',
 'transitive': 'transitive',
 'verb': 'verb'}

TriVerbTable_INDEX

Value:
{u'ءءب': [u'آبَ1', u'آبَ2'],
 u'ءءد': [u'آدَ2', u'آدَ1'],
 u'ءءر': [u'آرَ1', u'آرَ2'],
 u'ءءس': [u'آسَ2', u'آسَ1'],
 u'ءءض': [u'آضَ2'],
 u'ءءف': [u'آفَ1'],
 u'ءءق': [u'آقَ1'],
 u'ءءل': [u'آلَ1'],
...

VALID_INFINITIVE_VERB4_pat

Value:
re.compile(r'(?u)^([\u0623\u0621][^\u0651]{2}.|[^\u0627\u0651]\u0627[^\
\u0627\u0651].|[^\u0627\u0651]{2}\u0651[^\u0651]|[^\u0627\u0651]{4})$'\
)

VALID_INFINITIVE_VERB5_pat

Value:
re.compile(r'(?u)^\u0627...\u0651$|\u0627[\u062a\u0630\u0637]\u0651..$\
|\u0627[\u062a\u0630\u0637]\u0651[^\u0627\u0651][^\u0627\u0651]$|\u062\
7\u0646...$|(\u0627\u0632\u062f|\u0635\u0637|\u0636\u0637)..$^\u0627[^\
\u0635\u0636\u0637\u0638\u062f]\u062a..$|\u0627...\u0651$|\u0627.\u065\
1..$|\u0627...\u0649$')

VALID_INFINITIVE_VERB6_pat

Value:
re.compile(r'(?u)^\u0627\u0633\u062a...|\u0627..\u0646..|\u0627..\u064\
8..|\u0627..\u0627.\u0651|\u0627....\u0651|\u0627.\u0651.\u0651.|\u062\
7.\u0651\u0627..$')

future

Value:
{u'أنا': [u'أ', u'ُ'],
 u'أنت': [u'ت', u'ُ'],
 u'أنتم': [u'ت', u'ُونَ'],
 u'أنتما': [u'ت', u'َانِ'],
 u'أنتما مؤ': [u'ت', u'َانِ'],
 u'أنتن': [u'ت', u'ْنَ'],
 u'أنتِ': [u'ت', u'ِينَ'],
 u'نحن': [u'ن', u'ُ'],
...

future_confirmed

Value:
{u'أنا': [u'أ', u'َنَّ'],
 u'أنت': [u'ت', u'َنَّ'],
 u'أنتم': [u'ت', u'ُنَّ'],
 u'أنتما': [u'ت', u'َانِّ'],
 u'أنتما مؤ': [u'ت', u'َانِّ'],
 u'أنتن': [u'ت', u'ْنَانِّ'],
 u'أنتِ': [u'ت', u'ِنَّ'],
 u'نحن': [u'ن', u'َنَّ'],
...

future_majzoom

Value:
{u'أنا': [u'أ', u'ْ'],
 u'أنت': [u'ت', u'ْ'],
 u'أنتم': [u'ت', u'ُوٱ'],
 u'أنتما': [u'ت', u'َا'],
 u'أنتما مؤ': [u'ت', u'َا'],
 u'أنتن': [u'ت', u'ْنَ'],
 u'أنتِ': [u'ت', u'ِي'],
 u'نحن': [u'ن', u'ْ'],
...

future_mansoub

Value:
{u'أنا': [u'أ', u'َ'],
 u'أنت': [u'ت', u'َ'],
 u'أنتم': [u'ت', u'ُوٱ'],
 u'أنتما': [u'ت', u'َا'],
 u'أنتما مؤ': [u'ت', u'َا'],
 u'أنتن': [u'ت', u'ْنَ'],
 u'أنتِ': [u'ت', u'ِي'],
 u'نحن': [u'ن', u'َ'],
...

imperative

Value:
{u'أنت': [u'', u'ْ'],
 u'أنتم': [u'', u'ُوٱ'],
 u'أنتما': [u'', u'َا'],
 u'أنتما مؤ': [u'', u'َا'],
 u'أنتن': [u'', u'ْنَ'],
 u'أنتِ': [u'', u'ِي']}

imperative_confirmed

Value:
{u'أنت': [u'', u'َنَّ'],
 u'أنتم': [u'', u'ُنَّ'],
 u'أنتما': [u'', u'َانِّ'],
 u'أنتما مؤ': [u'', u'َانِّ'],
 u'أنتن': [u'', u'ْنَانِّ'],
 u'أنتِ': [u'', u'ِنَّ']}

past

Value:
{u'أنا': [u'', u'ْتُ'],
 u'أنت': [u'', u'ْتَ'],
 u'أنتم': [u'', u'ْتُم'],
 u'أنتما': [u'', u'ْتُما'],
 u'أنتما مؤ': [u'', u'ْتُما'],
 u'أنتن': [u'', u'ْتُنَّ'],
 u'أنتِ': [u'', u'ْتِ'],
 u'نحن': [u'', u'ْنَا'],
...

tab_homogenize_alef_haraka

Value:
{u'َ': {u'َ': u'ٰ', u'ُ': u'ٰ', u'ِ': u'ٰ', u'ْ': u'ٰ'},
 u'ُ': {u'َ': u'ٰ', u'ُ': u'ٰ', u'ِ': u'ۦ', u'ْ': u'ۥ'},
 u'ِ': {u'َ': u'ٰ', u'ُ': u'ۦ', u'ِ': u'ٰ', u'ْ': u'ۦ'},
 u'ْ': {u'َ': u'ٰ', u'ُ': u'ۥ', u'ِ': u'ۦ', u'ْ': '*'}}

tab_sarf

Value:
{0: {'future': u'ِ', 'past': u'َ'},
 1: {'future': u'ُ', 'past': u'َ'},
 2: {'future': u'ِ', 'past': u'َ'},
 3: {'future': u'َ', 'past': u'َ'},
 4: {'future': u'َ', 'past': u'ِ'},
 5: {'future': u'ِ', 'past': u'ِ'},
 6: {'future': u'ُ', 'past': u'ُ'}}

tab_tahmeez_final

Value:
{u'^': {u'َ': u'أ',
        u'ُ': u'أ',
        u'ِ': u'إ',
        u'ْ': u'ء',
        u'ٰ': u'آ',
        u'ۥ': u'أ',
        u'ۦ': u'أ'},
 u'َ': {u'َ': u'أ', u'ُ': u'أ', u'ِ': u'إ', u'ْ': u'أ', u'ٰ': u'أ', u'\
...

tab_tahmeez_initial

Value:
{u't': u'إ',
 u'َ': u'أ',
 u'ُ': u'أ',
 u'ِ': u'إ',
 u'ْ': u'ء',
 u'ٰ': u'آ',
 u'ۥ': u'أ',
 u'ۦ': u'إ'}

tab_tahmeez_middle

Value:
{u'َ': {u'َ': u'أ',
        u'ُ': u'ؤ',
        u'ِ': u'ئ',
        u'ْ': u'أ',
        u'ٰ': u'أ',
        u'ۥ': u'ؤ',
        u'ۦ': u'ئ'},
 u'ُ': {u'َ': u'ؤ', u'ُ': u'ؤ', u'ِ': u'ئ', u'ْ': u'ؤ', u'ٰ': u'ؤ', u'\
...

written_haraka

Value:
{u'#': u'َا',
 u'*': u'َا',
 u't': u'ِي',
 u'ـ': '',
 u'َ': u'َ',
 u'ُ': u'ُ',
 u'ِ': u'ِ',
 u'ّ': u'ّ',
...