from ...attrs import LIKE_NUM _num_words = [ "μηδέν", "ένας", "δυο", "δυό", "τρεις", "τέσσερις", "πέντε", "έξι", "εφτά", "επτά", "οκτώ", "οχτώ", "εννιά", "εννέα", "δέκα", "έντεκα", "ένδεκα", "δώδεκα", "δεκατρείς", "δεκατέσσερις", "δεκαπέντε", "δεκαέξι", "δεκαεπτά", "δεκαοχτώ", "δεκαεννέα", "δεκαεννεα", "είκοσι", "τριάντα", "σαράντα", "πενήντα", "εξήντα", "εβδομήντα", "ογδόντα", "ενενήντα", "εκατό", "διακόσιοι", "διακόσοι", "τριακόσιοι", "τριακόσοι", "τετρακόσιοι", "τετρακόσοι", "πεντακόσιοι", "πεντακόσοι", "εξακόσιοι", "εξακόσοι", "εφτακόσιοι", "εφτακόσοι", "επτακόσιοι", "επτακόσοι", "οχτακόσιοι", "οχτακόσοι", "οκτακόσιοι", "οκτακόσοι", "εννιακόσιοι", "χίλιοι", "χιλιάδα", "εκατομμύριο", "δισεκατομμύριο", "τρισεκατομμύριο", "τετράκις", "πεντάκις", "εξάκις", "επτάκις", "οκτάκις", "εννεάκις", "ένα", "δύο", "τρία", "τέσσερα", "δις", "χιλιάδες", ] def like_num(text): if text.startswith(("+", "-", "±", "~")): text = text[1:] text = text.replace(",", "").replace(".", "") if text.isdigit(): return True if text.count("/") == 1: num, denom = text.split("/") if num.isdigit() and denom.isdigit(): return True if text.count("^") == 1: num, denom = text.split("^") if num.isdigit() and denom.isdigit(): return True if text.lower() in _num_words or text.lower().split(" ")[0] in _num_words: return True if text in _num_words: return True return False LEX_ATTRS = {LIKE_NUM: like_num}