﻿#from arabic_const import *
import pyarabic.araby as araby
JOKER="*"
INFIX_LETTERS=u"اتوي"
#النون هل هي من حروف الحشو
MAX_PREFIX=5;
MAX_SUFFIX=6;

#-------------------
#
#-------------------
VERBAL_PREFIX_LIST=([
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'فاست',
#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'ن',
#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'ين',
]);
VERBAL_SUFFIX_LIST=set(["",
	araby.YEH,
	araby.NOON + araby.YEH,
	araby.NOON + araby.ALEF,
	araby.KAF,
	araby.KAF + araby.MEEM + araby.ALEF,
	araby.KAF + araby.MEEM,
	araby.KAF + araby.NOON,
	araby.HEH,
	araby.HEH + araby.ALEF,
	araby.HEH + araby.MEEM + araby.ALEF,
	araby.HEH + araby.MEEM,
	araby.HEH + araby.NOON,
	#CONJ_SUFFIX_LIST=("",
	araby.TEH,
	araby.TEH  + araby.ALEF,
	araby.TEH + araby.MEEM,
	araby.TEH + araby.MEEM + araby.WAW,
	araby.TEH + araby.MEEM + araby.ALEF,
	araby.TEH + araby.NOON,
	araby.ALEF,
	araby.NOON,
	araby.NOON + araby.ALEF,
	araby.ALEF + araby.NOON,
	araby.WAW + araby.ALEF,
	araby.WAW + araby.NOON,
	araby.WAW,
	araby.YEH,
	araby.YEH + araby.NOON,
# to be cleaned
# conjugation with pronouns
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'تماه',
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'كهن',
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'وك',
u'وكم',
u'وكما',
u'وكن',
u'ون',
u'ونا',
u'ونك',
u'ونكم',
u'ونكما',
u'ونكن',
u'وننا',
u'ونني',
u'ونه',
u'ونها',
u'ونهم',
u'ونهما',
u'ونهن',
u'وني',
u'وه',
u'وها',
u'وهم',
u'وهما',
u'وهن',

# To double MAf3ool suffix
    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'ناهم',
    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'كموهما',
    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'هاها',
    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'هنه',
    u'هنها',
    u'هنهما',
    u'هنهم',
    u'هنهن',
    ]);

#------------------------------
# PREFIXES_LIST
#------------------------------
NOMINAL_GRAMMATICAL_PREFIXES_LIST=[
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'ولل',
u'فلل',
u'أال',
u'أبال',
u'أكال',
u'ألل',
u'أوال',
u'أفال',
u'أوبال',
u'أفبال',
u'أوكال',
u'أفكال',
u'أولل',
u'أفلل',

]
NOMINAL_PREFIXES_LIST=[
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'أو',
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'فالمست',
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'لت',
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'وب',
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'ومن',
]
