python-negar 1.2.13__tar.gz → 1.2.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_negar-1.2.13 → python_negar-1.2.15}/Changelog.txt +6 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/PKG-INFO +1 -1
- {python_negar-1.2.13 → python_negar-1.2.15}/negar/constants.py +1 -1
- {python_negar-1.2.13 → python_negar-1.2.15}/negar/data/immutable.words +31 -6
- {python_negar-1.2.13 → python_negar-1.2.15}/negar/virastar.py +8 -4
- {python_negar-1.2.13 → python_negar-1.2.15}/python_negar.egg-info/PKG-INFO +1 -1
- {python_negar-1.2.13 → python_negar-1.2.15}/tests/test_unittest.py +10 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/AUTHORS +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/LICENSE +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/MANIFEST.in +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/README.md +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/negar/__init__.py +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/negar/gui.py +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/python_negar.egg-info/SOURCES.txt +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/python_negar.egg-info/dependency_links.txt +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/python_negar.egg-info/entry_points.txt +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/python_negar.egg-info/requires.txt +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/python_negar.egg-info/top_level.txt +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/setup.cfg +0 -0
- {python_negar-1.2.13 → python_negar-1.2.15}/setup.py +0 -0
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
1.2.15 - 2024-12-31
|
|
2
|
+
-- Fixed issue #24 and added several new immutable words.
|
|
3
|
+
|
|
4
|
+
1.2.14 - 2024-12-30
|
|
5
|
+
-- Fixed issue with prefix spacing in cases like "mi + space + ZWNJ + <word>".
|
|
6
|
+
|
|
1
7
|
1.2.13 - 2024-12-26
|
|
2
8
|
-- Fixed issue with quotes after a dot where no space was allowed in between.
|
|
3
9
|
|
|
@@ -97,10 +97,12 @@
|
|
|
97
97
|
المان
|
|
98
98
|
الها
|
|
99
99
|
امابیها
|
|
100
|
+
امابیها
|
|
100
101
|
امفیتآتر
|
|
101
102
|
امنیتتان
|
|
102
103
|
امها
|
|
103
104
|
انتها
|
|
105
|
+
انتهایی
|
|
104
106
|
انرژیدرمان
|
|
105
107
|
انساندوستان
|
|
106
108
|
انساندوستان
|
|
@@ -196,8 +198,11 @@
|
|
|
196
198
|
بنگستان
|
|
197
199
|
بنها
|
|
198
200
|
بها
|
|
201
|
+
بهائیت
|
|
199
202
|
بهارستان
|
|
200
203
|
بهارستان
|
|
204
|
+
بهایی
|
|
205
|
+
بهاییت
|
|
201
206
|
بهبها
|
|
202
207
|
بهتان
|
|
203
208
|
بهتان
|
|
@@ -205,6 +210,7 @@
|
|
|
205
210
|
بهتری
|
|
206
211
|
بهترین
|
|
207
212
|
بهترین
|
|
213
|
+
بهتنهایی
|
|
208
214
|
بهمان
|
|
209
215
|
بوتان
|
|
210
216
|
بودنتان
|
|
@@ -254,6 +260,7 @@
|
|
|
254
260
|
بیازمایید
|
|
255
261
|
بیاسایند
|
|
256
262
|
بیاشتها
|
|
263
|
+
بیاشتهایی
|
|
257
264
|
بیافتد
|
|
258
265
|
بیافرید
|
|
259
266
|
بیافریند
|
|
@@ -327,6 +334,7 @@
|
|
|
327
334
|
بیبسکو
|
|
328
335
|
بیبل
|
|
329
336
|
بیبها
|
|
337
|
+
بیبهایی
|
|
330
338
|
بیت
|
|
331
339
|
بیتالتکمهها
|
|
332
340
|
بیتالحکمه
|
|
@@ -379,6 +387,7 @@
|
|
|
379
387
|
بیدارتر
|
|
380
388
|
بیدارترین
|
|
381
389
|
بیداردل
|
|
390
|
+
بیداردل
|
|
382
391
|
بیدارشان
|
|
383
392
|
بیدارشدگی
|
|
384
393
|
بیدارگری
|
|
@@ -464,11 +473,14 @@
|
|
|
464
473
|
بیستمیلیونی
|
|
465
474
|
بیستمین
|
|
466
475
|
بیستوپنجم
|
|
476
|
+
بیستوپنجم
|
|
467
477
|
بیستوچهارساعته
|
|
478
|
+
بیستوچهارساعته
|
|
468
479
|
بیستودوم
|
|
469
480
|
بیستوسوم
|
|
470
481
|
بیستون
|
|
471
482
|
بیستوهفتم
|
|
483
|
+
بیستوهفتم
|
|
472
484
|
بیستویکم
|
|
473
485
|
بیسرنامه
|
|
474
486
|
بیسکای
|
|
@@ -540,6 +552,7 @@
|
|
|
540
552
|
بیکار
|
|
541
553
|
بیکاران
|
|
542
554
|
بیکارشده
|
|
555
|
+
بیکارشده
|
|
543
556
|
بیکارگی
|
|
544
557
|
بیکارند
|
|
545
558
|
بیکاره
|
|
@@ -659,6 +672,7 @@
|
|
|
659
672
|
بین
|
|
660
673
|
بینا
|
|
661
674
|
بینابینی
|
|
675
|
+
بینابینی
|
|
662
676
|
بینات
|
|
663
677
|
بیناتری
|
|
664
678
|
بینارداغ
|
|
@@ -852,7 +866,9 @@
|
|
|
852
866
|
تفتان
|
|
853
867
|
تکلیفتان
|
|
854
868
|
تکوتنها
|
|
869
|
+
تکوتنها
|
|
855
870
|
تکوتنهایی
|
|
871
|
+
تکوتنهایی
|
|
856
872
|
تلاشتان
|
|
857
873
|
تلویزیونتان
|
|
858
874
|
تماستان
|
|
@@ -864,6 +880,7 @@
|
|
|
864
880
|
تنها
|
|
865
881
|
تنهای
|
|
866
882
|
تنهایی
|
|
883
|
+
تنهایی
|
|
867
884
|
تنورهکشان
|
|
868
885
|
تهیدستان
|
|
869
886
|
توتستان
|
|
@@ -1039,6 +1056,7 @@
|
|
|
1039
1056
|
سینمادوستان
|
|
1040
1057
|
سینمادوستان
|
|
1041
1058
|
شاعرصفتان
|
|
1059
|
+
شاعرصفتان
|
|
1042
1060
|
شانگها
|
|
1043
1061
|
شبستان
|
|
1044
1062
|
شبستر
|
|
@@ -1055,6 +1073,7 @@
|
|
|
1055
1073
|
شورستان
|
|
1056
1074
|
شوشتر
|
|
1057
1075
|
شوشتری
|
|
1076
|
+
شیخبهایی
|
|
1058
1077
|
شیربها
|
|
1059
1078
|
صربستان
|
|
1060
1079
|
صفرکیلومتر
|
|
@@ -1154,6 +1173,7 @@
|
|
|
1154
1173
|
گالوانومتر
|
|
1155
1174
|
گانگستر
|
|
1156
1175
|
گرانبها
|
|
1176
|
+
گرانبهایی
|
|
1157
1177
|
گرجستان
|
|
1158
1178
|
گردافشان
|
|
1159
1179
|
گردهافشان
|
|
@@ -1333,7 +1353,7 @@
|
|
|
1333
1353
|
میخی
|
|
1334
1354
|
مید
|
|
1335
1355
|
میداس
|
|
1336
|
-
|
|
1356
|
+
میداستار
|
|
1337
1357
|
میدان
|
|
1338
1358
|
میدانا
|
|
1339
1359
|
میدانچای
|
|
@@ -1383,7 +1403,7 @@
|
|
|
1383
1403
|
میرباقری
|
|
1384
1404
|
میرپنج
|
|
1385
1405
|
میرجاوه
|
|
1386
|
-
|
|
1406
|
+
میرجلیل
|
|
1387
1407
|
میرحاجی
|
|
1388
1408
|
میرحسین
|
|
1389
1409
|
میرحسینی
|
|
@@ -1397,14 +1417,15 @@
|
|
|
1397
1417
|
میرر
|
|
1398
1418
|
میرزا
|
|
1399
1419
|
میرزاآقابیک
|
|
1400
|
-
|
|
1420
|
+
میرزاابوطالبی
|
|
1401
1421
|
میرزابی
|
|
1402
1422
|
میرزابیگی
|
|
1403
|
-
|
|
1423
|
+
میرزاده
|
|
1404
1424
|
میرزاسالاریها
|
|
1425
|
+
میرزاسالاریها
|
|
1405
1426
|
میرزاغفور
|
|
1406
1427
|
میرزاغوثی
|
|
1407
|
-
|
|
1428
|
+
میرزانظری
|
|
1408
1429
|
میرزای
|
|
1409
1430
|
میرزایی
|
|
1410
1431
|
میرزمانی
|
|
@@ -1626,6 +1647,7 @@
|
|
|
1626
1647
|
میلیارددلاری
|
|
1627
1648
|
میلیاردر
|
|
1628
1649
|
میلیاردریالی
|
|
1650
|
+
میلیاردریالی
|
|
1629
1651
|
میلیاردم
|
|
1630
1652
|
میلیاردمین
|
|
1631
1653
|
میلیاردها
|
|
@@ -1757,6 +1779,7 @@
|
|
|
1757
1779
|
میهنه
|
|
1758
1780
|
میهنی
|
|
1759
1781
|
میهوی
|
|
1782
|
+
میهوی
|
|
1760
1783
|
میوت
|
|
1761
1784
|
میور
|
|
1762
1785
|
میوسن
|
|
@@ -1809,9 +1832,10 @@
|
|
|
1809
1832
|
نهاد
|
|
1810
1833
|
نهالستان
|
|
1811
1834
|
نهایت
|
|
1835
|
+
نهایی
|
|
1812
1836
|
نهتنها
|
|
1813
1837
|
نوبها
|
|
1814
|
-
|
|
1838
|
+
نودولتان
|
|
1815
1839
|
نورافشان
|
|
1816
1840
|
نوعدوستان
|
|
1817
1841
|
نونها
|
|
@@ -1822,6 +1846,7 @@
|
|
|
1822
1846
|
نیشتر
|
|
1823
1847
|
نیمبها
|
|
1824
1848
|
نیمهنها
|
|
1849
|
+
نیمهنهایی
|
|
1825
1850
|
هزاردستان
|
|
1826
1851
|
هستان
|
|
1827
1852
|
هشتر
|
|
@@ -178,9 +178,9 @@ class PersianEditor:
|
|
|
178
178
|
|
|
179
179
|
def fix_prefix_spacing(self):
|
|
180
180
|
"""Put ZWNJ between a word and its prefix (mi* nemi* bi* na*)."""
|
|
181
|
-
self.text = re.sub(r"\b(بی|نا)
|
|
181
|
+
self.text = re.sub(r"\b(بی|نا)([\s|]+)(?!(می)\b)", r"\1", self.text)
|
|
182
182
|
# the following case is for the mi(n.) and nemi(n.)
|
|
183
|
-
self.text = re.sub(rf"\b(ن?می)
|
|
183
|
+
self.text = re.sub(rf"\b(ن?می)([\s|]+)(?!(.|{self._prepositions})\b)", r"\1", self.text)
|
|
184
184
|
|
|
185
185
|
def fix_prefix_separate(self):
|
|
186
186
|
"""Put ZWNJ between a word and its prefix (mi* nemi* bi*)."""
|
|
@@ -196,8 +196,10 @@ class PersianEditor:
|
|
|
196
196
|
|
|
197
197
|
# Replace backslashes with a temporary placeholder
|
|
198
198
|
text = self.text.replace("\\", "PN__BACKSLASH__PN")
|
|
199
|
-
wlist = text.split(
|
|
199
|
+
wlist = text.split()
|
|
200
200
|
for word in wlist:
|
|
201
|
+
if word.strip() in ImmutableWords.get():
|
|
202
|
+
continue
|
|
201
203
|
regx_iter = regx.finditer(word)
|
|
202
204
|
for p in regx_iter:
|
|
203
205
|
# Checks that the prefix (mi* nemi* bi*) is part a a word or not, like میلاد.
|
|
@@ -258,8 +260,10 @@ class PersianEditor:
|
|
|
258
260
|
)
|
|
259
261
|
# Replace backslashes with a temporary placeholder
|
|
260
262
|
text = self.text.replace("\\", "PN__BACKSLASH__PN")
|
|
261
|
-
wlist = text.split(
|
|
263
|
+
wlist = text.split()
|
|
262
264
|
for word in wlist:
|
|
265
|
+
if word.strip() in ImmutableWords.get():
|
|
266
|
+
continue
|
|
263
267
|
regx_iter = regx.finditer(word)
|
|
264
268
|
for p in regx_iter:
|
|
265
269
|
# Checks that the suffix (tar* haye*) is part of a word or not, like بهتر.
|
|
@@ -93,6 +93,16 @@ class Test(unittest.TestCase):
|
|
|
93
93
|
self.input_ = r"در پیشوند کلمات با نیمفاصله نظیر ' می شود '، ' میشود '، ' بی شک '، ' بیشک ' , ' خانه اش '، ' وظیفه شناس ' ، ' کمک تان ' و یا ' نمیرود '"
|
|
94
94
|
self.output_ = "در پیشوند کلمات با نیمفاصله نظیر «میشود»، «میشود»، «بیشک»، «بیشک»، «خانهاش»، «وظیفهشناس»، «کمکتان» و یا «نمیرود»"
|
|
95
95
|
|
|
96
|
+
@_assertEqual("Fix Prefix ZWNJ II")
|
|
97
|
+
def test_fix_prefix_ZWNJ_ii(self):
|
|
98
|
+
self.input_ = r"می شود"
|
|
99
|
+
self.output_ = "میشود"
|
|
100
|
+
|
|
101
|
+
@_assertEqual("Fix Prefix ZWNJ III")
|
|
102
|
+
def test_fix_prefix_ZWNJ_iii(self):
|
|
103
|
+
self.input_ = r"می شود"
|
|
104
|
+
self.output_ = "میشود"
|
|
105
|
+
|
|
96
106
|
@_assertEqual("Fix Suffix ZWNJ I")
|
|
97
107
|
def test_fix_suffix_ZWNJ_I(self):
|
|
98
108
|
self.input_ = r"در پسوند کلمات با نیمفاصله نظیر کتابها، خوشترین -- و البته امکان عدم تنظیم (در صورت انتخاب کاربر)"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|