Last active
May 10, 2022 08:47
-
-
Save tabebqena/401863272df991a7ed23409b18817954 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| fatha = u'َ' | |
| kasra = u'ِ' | |
| damma = u'ُ' | |
| sukun = u'ْ' | |
| shadda = u'ّ' | |
| doublekasra = u'ٍ' | |
| with open("result.txt", "a", encoding="utf-8") as f: | |
| f.write("ذهب") | |
| f.write(fatha) | |
| f.write(" ") | |
| f.write("احمد") | |
| f.write(damma) | |
| f.write(" ") | |
| f.write("الى ال") | |
| f.write(sukun) | |
| f.write("بيت") | |
| f.write(kasra) | |
| f.write(" ") | |
| f.write("الص") | |
| f.write(shadda) | |
| f.write(fatha) | |
| f.write("غير") | |
| f.write(kasra) | |
| f.write("\n") | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| أخبر الرئيس الأميركي، جو بايدن، مؤخراً كبار مسؤولي الأمن القومي أن التسريبات حول مشاركة معلومات الاستخبارات الأميركية مع الأوكرانيين ليست مفيدة ويجب أن تتوقف، وفق مسؤول مطلع على المحادثة. | |
| وقال أحد المسؤولين إن بايدن أخبرهم أنه ليس من المفيد نشر معلومات حول ما تشاركه الولايات المتحدة مع القوات الأوكرانية، وأكد أن التسريبات المتعلقة بهذه المعلومات يجب أن تتوقف، بحسب CNN. | |
| روسيا تحذر أميركا: أوقفوا إرسال الأسلحة إلى أوكرانيا | |
| العرب والعالم | |
| روسيا و أوكرانيا روسيا تحذر أميركا: أوقفوا إرسال الأسلحة إلى أوكرانيا | |
| كما تم الإبلاغ عن رسالة بايدن إلى كبار مسؤولي الأمن القومي لأول مرة من قبل NBC News. | |
| وكان المسؤولون الأميركيون صريحين بشأن تبادل المعلومات الاستخباراتية مع الأوكرانيين، لكنهم لفتوا أيضاً إلى أن هناك خطأ في ما يتم مشاركته معهم. | |
| نفي سابق | |
| فيما أعلن متحدث باسم مجلس الأمن القومي الأسبوع الماضي أنه بالإضافة إلى إرسال أسلحة لساحة المعركة، قدم المسؤولون معلومات استخباراتية "لمساعدة الأوكرانيين في الدفاع عن بلادهم"، على حد قوله. | |
| وفي الأسبوع الماضي، بعد أن نفى البيت الأبيض تقديم معلومات استخباراتية مباشرة إلى الأوكرانيين "بقصد قتل الجنرالات الروس"، تحدث بايدن بشكل منفصل مع وزير الدفاع لويد أوستن، ومدير وكالة الاستخبارات المركزية ويليام بيرنز، ومدير المخابرات الوطنية أفريل هينز. | |
| عقوبات مؤلمة | |
| يشار إلى أنه منذ انطلاق العملية العسكرية الروسية على أراضي الجارة الغربية في 24 فبراير الفائت، اصطفت الدول الغربية بقوة إلى جانب كييف، داعمة إياها بالسلاح والعتاد والمساعدات الإنسانية أيضاً من أجل مواجهة الروس. | |
| فيما فرض الغرب وفي مقدمتهم أميركا، عقوبات مؤلمة على الكرملين، طالت مختلف القطاعات والشركات والمصارف، فضلاً عن السياسيين الروس، والأثرياء المقربين من بوتين. | |
| تابعوا آخر أخبار العربية عبر Google News | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from typing import List | |
| fatha = u'َ' | |
| kasra = u'ِ' | |
| damma = u'ُ' | |
| sukun = u'ْ' | |
| shadda = u'ّ' | |
| doublekasra = u'ٍ' | |
| shamsi_letters = ["ت" ,"ث" ,"د" ,"ذ" ,"ر" ,"ز", "س", "ش", "ص", "ض", "ط" ,"ظ" ,"ل" ,"ن"] | |
| excluded_list = ["الذي", "التي", "اللذان", "اللتان", "الذين", "اللواتي"] | |
| marks = [fatha, damma, kasra, shadda, sukun] | |
| def is_punctated(word: str) -> bool: | |
| if len(word) > 2: | |
| return word[2] in marks | |
| return False | |
| def punctate(word: str) -> str: | |
| if len(word) > 2: | |
| third_letter = word[2] | |
| if third_letter in shamsi_letters: | |
| word = word[:2] + shadda + word[2:] | |
| else: | |
| word = word[:2] + sukun + word[2:] | |
| return word | |
| def punctate_data(input_data : str) -> str: | |
| output_data = [] | |
| data = input_data.split(" ") | |
| for word in data : | |
| if not word in excluded_list and word.startswith("ال") and not is_punctated(word): | |
| word = punctate(word) | |
| output_data.append(word) | |
| return " ".join(output_data) | |
| def getInput(path: str): | |
| f = open(path, "r") | |
| data = f.read() | |
| f.close() | |
| return data | |
| if __name__ == "__main__": | |
| data = getInput("input.txt") | |
| with open("output.txt", "w") as f: | |
| f.write(punctate_data(data)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment