sharedkernel 1.6__tar.gz → 1.6.2__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.
Files changed (32) hide show
  1. {sharedkernel-1.6 → sharedkernel-1.6.2}/PKG-INFO +6 -2
  2. {sharedkernel-1.6 → sharedkernel-1.6.2}/README.md +4 -0
  3. {sharedkernel-1.6 → sharedkernel-1.6.2}/setup.py +2 -2
  4. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/normalizer.py +6 -278
  5. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel.egg-info/PKG-INFO +6 -2
  6. {sharedkernel-1.6 → sharedkernel-1.6.2}/setup.cfg +0 -0
  7. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/common.py +0 -0
  8. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/database/__init__.py +0 -0
  9. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/database/mongo_generic_repository.py +0 -0
  10. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/database/vector_database_repository/__init__.py +0 -0
  11. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/database/vector_database_repository/chroma_startegy.py +0 -0
  12. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/database/vector_database_repository/milvus_strategy.py +0 -0
  13. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/database/vector_database_repository/vector_database_repository.py +0 -0
  14. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/database/vector_database_repository/vector_database_strategy.py +0 -0
  15. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/date_converter.py +0 -0
  16. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/enum/__init__.py +0 -0
  17. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/enum/error_code.py +0 -0
  18. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/enum/vector_database_type.py +0 -0
  19. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/exception/__init__.py +0 -0
  20. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/exception/exception.py +0 -0
  21. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/exception/exception_handlers.py +0 -0
  22. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/jwt_service.py +0 -0
  23. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/objects/__init__.py +0 -0
  24. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/objects/base_document.py +0 -0
  25. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/objects/jwt_model.py +0 -0
  26. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/objects/result.py +0 -0
  27. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/regex_masking.py +0 -0
  28. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel/string_extentions.py +0 -0
  29. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel.egg-info/SOURCES.txt +0 -0
  30. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel.egg-info/dependency_links.txt +0 -0
  31. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel.egg-info/requires.txt +0 -0
  32. {sharedkernel-1.6 → sharedkernel-1.6.2}/sharedkernel.egg-info/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sharedkernel
3
- Version: 1.6
4
- Summary: sharekernel is an shared package between all python projects
3
+ Version: 1.6.2
4
+ Summary: sharekernel is a shared package between all python projects
5
5
  Author: Smilinno
6
6
  Description-Content-Type: text/markdown
7
7
  Requires-Dist: numpy
@@ -20,6 +20,10 @@ Requires-Dist: persiantools
20
20
  this a shared kernel package
21
21
 
22
22
  # Change Log
23
+ ### Version 1.6.2
24
+ - Minor update: normalize function nane
25
+ ### Version 1.6.1
26
+ - Minor update normalize functions
23
27
  ### Version 1.6
24
28
  - Add phone number normalizer
25
29
  ### Version 1.5.2
@@ -2,6 +2,10 @@
2
2
  this a shared kernel package
3
3
 
4
4
  # Change Log
5
+ ### Version 1.6.2
6
+ - Minor update: normalize function nane
7
+ ### Version 1.6.1
8
+ - Minor update normalize functions
5
9
  ### Version 1.6
6
10
  - Add phone number normalizer
7
11
  ### Version 1.5.2
@@ -33,8 +33,8 @@ setup(
33
33
  "persiantools"
34
34
  ],
35
35
  # *strongly* suggested for sharing
36
- version="1.6",
37
- description="sharekernel is an shared package between all python projects",
36
+ version="1.6.2",
37
+ description="sharekernel is a shared package between all python projects",
38
38
  long_description=long_description,
39
39
  long_description_content_type="text/markdown",
40
40
  )
@@ -47,215 +47,14 @@ class DigitMapping:
47
47
  "نه": "9",
48
48
  }
49
49
 
50
- patterns = [
51
- "0910",
52
- "0911",
53
- "0912",
54
- "0913",
55
- "0914",
56
- "0915",
57
- "0916",
58
- "0917",
59
- "0918",
60
- "0919",
61
- "0990",
62
- "0991",
63
- "0992",
64
- "0993",
65
- "0994",
66
- "0931",
67
- "0932",
68
- "0934",
69
- "0900",
70
- "0901",
71
- "0902",
72
- "0903",
73
- "0904",
74
- "0905",
75
- "0930",
76
- "0933",
77
- "0935",
78
- "0936",
79
- "0937",
80
- "0938",
81
- "0939",
82
- "0941",
83
- "0920",
84
- "0921",
85
- "0922",
86
- "0923",
87
- "0955",
88
- "0998",
89
- "0999",
90
- "923",
91
- "941",
92
- "916",
93
- "917",
94
- "919",
95
- "905",
96
- "930",
97
- "993",
98
- "910",
99
- "920",
100
- "915",
101
- "933",
102
- "990",
103
- "904",
104
- "992",
105
- "918",
106
- "937",
107
- "938",
108
- "900",
109
- "913",
110
- "914",
111
- "911",
112
- "903",
113
- "994",
114
- "931",
115
- "934",
116
- "991",
117
- "921",
118
- "922",
119
- "912",
120
- "932",
121
- "998",
122
- "901",
123
- "939",
124
- "936",
125
- "902",
126
- "955",
127
- "999",
128
- "935",
129
- "۰۹۹",
130
- "۹۹",
131
- # Similar patterns
132
- "0917",
133
- "0918",
134
- "0919",
135
- "0921",
136
- "0922",
137
- "0923",
138
- "0932",
139
- "0934",
140
- "0935",
141
- "0936",
142
- "0937",
143
- "0938",
144
- "0939",
145
- "0941",
146
- "0955",
147
- "0998",
148
- "0999",
149
- "921",
150
- "922",
151
- "923",
152
- "930",
153
- "931",
154
- "932",
155
- "933",
156
- "934",
157
- "935",
158
- "936",
159
- "937",
160
- "938",
161
- "939",
162
- "990",
163
- "991",
164
- "992",
165
- "993",
166
- "994",
167
- "995",
168
- "996",
169
- "997",
170
- "998",
171
- "999",
172
- # Persian Numerals
173
- "۰۹۱۰",
174
- "۰۹۱۱",
175
- "۰۹۱۲",
176
- "۰۹۱۳",
177
- "۰۹۱۴",
178
- "۰۹۱۵",
179
- "۰۹۱۶",
180
- "۰۹۱۷",
181
- "۰۹۱۸",
182
- "۰۹۱۹",
183
- "۰۹۹۰",
184
- "۰۹۹۱",
185
- "۰۹۹۲",
186
- "۰۹۹۳",
187
- "۰۹۹۴",
188
- "۰۹۳۱",
189
- "۰۹۳۲",
190
- "۰۹۳۴",
191
- "۰۹۰۰",
192
- "۰۹۰۱",
193
- "۰۹۰۲",
194
- "۰۹۰۳",
195
- "۰۹۰۴",
196
- "۰۹۰۵",
197
- "۰۹۳۰",
198
- "۰۹۳۳",
199
- "۰۹۳۵",
200
- "۰۹۳۶",
201
- "۰۹۳۷",
202
- "۰۹۳۸",
203
- "۰۹۳۹",
204
- "۰۹۴۱",
205
- "۰۹۲۰",
206
- "۰۹۲۱",
207
- "۰۹۲۲",
208
- "۰۹۲۳",
209
- "۰۹۵۵",
210
- "۰۹۹۸",
211
- "۰۹۹۹",
212
- "۹۲۳",
213
- "۹۴۱",
214
- "۹۱۶",
215
- "۹۱۷",
216
- "۹۱۹",
217
- "۹۰۵",
218
- "۹۳۰",
219
- "۹۹۳",
220
- "۹۱۰",
221
- "۹۲۰",
222
- "۹۱۵",
223
- "۹۳۳",
224
- "۹۹۰",
225
- "۹۰۴",
226
- "۹۹۲",
227
- "۹۱۸",
228
- "۹۳۷",
229
- "۹۳۸",
230
- "۹۰۰",
231
- "۹۱۳",
232
- "۹۱۴",
233
- "۹۱۱",
234
- "۹۰۳",
235
- "۹۹۴",
236
- "۹۳۱",
237
- "۹۳۴",
238
- "۹۹۱",
239
- "۹۲۱",
240
- "۹۲۲",
241
- "۹۱۲",
242
- "۹۳۲",
243
- "۹۹۸",
244
- "۹۰۱",
245
- "۹۳۹",
246
- "۹۳۶",
247
- "۹۰۲",
248
- "۹۵۵",
249
- "۹۹۹",
250
- "۹۳۵",
251
- ]
50
+
252
51
 
253
52
 
254
53
  # Creating an instance of the DigitMapping class
255
54
  digit_mapping = DigitMapping()
256
55
 
257
56
 
258
- class PhoneNumberNormalizer:
57
+ class PhoneNumberProcessor:
259
58
  # Iranian mobile phone number area code
260
59
 
261
60
  def __replace_number_words(self, text):
@@ -657,20 +456,21 @@ class PhoneNumberNormalizer:
657
456
  return self.__update_general_case(text, number)
658
457
 
659
458
  @staticmethod
660
- def normalize_phone_numbers(text):
459
+ def normalize(text):
661
460
  """
662
461
  Normalize phone numbers in the input Persian text by handling specific patterns
663
462
  and replacing them with the correct numeric forms.
664
463
  """
464
+
665
465
  # Compile regex pattern to match number patterns
666
466
  pattern_regex = re.compile(
667
- r"(" + "|".join(digit_mapping.patterns) + r")[\s۰-۹0-9تا]*"
467
+ r"((0?[1-9][0-9]{1,3})|(۰?[۱-۹][۰-۹]{1,3}))[\s۰-۹0-9تا]*"
668
468
  )
669
469
 
670
470
  # Clean up text by removing extra spaces
671
471
  cleaned_text = re.sub(r"\s{2,}", " ", text)
672
472
 
673
- processor = PhoneNumberNormalizer()
473
+ processor = PhoneNumberProcessor()
674
474
 
675
475
  # Replace Persian number words with numeric equivalents
676
476
  cleaned_text = processor.__replace_number_words(cleaned_text)
@@ -696,75 +496,3 @@ class PhoneNumberNormalizer:
696
496
  cleaned_text = processor.__process_number_replacement(cleaned_text, result)
697
497
 
698
498
  return cleaned_text if results else text
699
-
700
-
701
- if __name__ == "__main__":
702
- # Create an instance of PhoneNumberNormalizer
703
- phone_nomralizer = PhoneNumberNormalizer()
704
-
705
- # Define a list of test cases
706
- test_cases = [
707
- "۰۹۹ ۳۸۴ ۲ تا ۹ ۲ تا ۱",
708
- "شماره تماس من ۰۹۱۸۹۸۴ ۰۰۶۰کارت شارژ میخوام",
709
- "سلام شماره تماس من ۰۹۱۸۹۸۴۳۰۱ کار شارژ لازم دارم",
710
- "شماره تماس شماره تماس ۰۹۳۸ ۱۷۰۱۰۱",
711
- "۰۹۳۸ ۳ تا ۳ ۲ تا ۴۵",
712
- "شماره تماس ۰۹۱۸۹۸۴ ۰۶۰",
713
- "شماره تماس ۰۹۳۸ ۸۸۸۴۵۴۵",
714
- "شماره تماس ۹۳۸ ۳ تا ۲ ۲ تا ۵ ۰۱",
715
- "شماره تماس ۰۹۳۸ ۳ تا ۳ ۲ تا ۴۵",
716
- "شماره تماس ۰۹۳۸ ۳ تا ۱۰۹",
717
- "۰۹۳۸ ۳ تا ۵ دو تا ۱۰۱ ۳ تا ۴۰۵",
718
- "شماره تماس ۰۹۱۸ ۳ تا ۰۴۰۵۰ کار شارژ لازم دارم",
719
- "شماره تماس ۰۹۱۸ ۳۶۴۵۰",
720
- "شماره تماس ۰۹۱۸ ۳ تا ۰۲ تا ۴۰",
721
- "شماره تماس ۰۹۱۸ ۳۶۴۰۵۰",
722
- "شماره تماس ۰۹۱۸۳ تا ۴۰ ۲ تا ۵۰ ۳۶ دو تا ۳۰",
723
- "شماره تماس من ۰۹۳۸ ۳ تا ۰۲ تا ۴۰",
724
- "شماره تماس من ۰۹۱۲ ۲ تا ۲ ۲ تا ۳ ۲ تا ۱ صفر",
725
- "09183040",
726
- "۰۹111۱۲ دو تا شماره دارم",
727
- "۰۹۱۸۹۸۴۰۰۶۰ کارشار لازم دارم",
728
- "شماره ۹۱۲ دو تا سیم کارت دارم قیمتش چنده",
729
- "شماره تلفن ۶۱۰۴۳۳۸۶۲۱۲۰۲۵۸ کار شارژ می‌خوام",
730
- "برای شماره ۰۹۱۰۵۲۲۵۱ با شماره کارت ۶۰۳۷۹۹۸۱۱۸۴۵۹۲۴۶ می‌خوام شارژ بخرم",
731
- "جمع عدد ۹ ۱ ۲ ۳ ۴ ۵ ۶ ۷ به اضافه ۸ ۹ ۱۰ ۲ چند می‌شود",
732
- "only text",
733
- "واسه شماره ۰۹۱۸ ۳ تا ۶۰۰۶۰ کار شارژ لازم دارم",
734
- "شماره 9189840060 کارت شارژ لازم دارم",
735
- "12456878 کارتشارژ",
736
- "09181234567",
737
- "واسه شماره 09189840060 کارت شارژ لازم دارم",
738
- "سلام شماره من 09189840060 می باشد شماره کارت 6104338621200258",
739
- "شماره تماس ۰۹۳۸ ۳ تا صفر دو تا ۴۰",
740
- "شماره تماس09184030 کارت شارژ",
741
- "شماره تماس091870 کارت شارژ",
742
- "شماره تماس ۰۹۳۸۳۶۰۰۳۰",
743
- "شماره تماس ۰۹۳۸۳۲۲۴۶",
744
- "شماره شماره ۰۹۹ ۶۵۶ ۴۵۵",
745
- "شماره ۹۳۸ ۳ تا ۶ ۲۵۶۴میخوام",
746
- "شماره تماس ۹۳۸ ۳ تا ۲ ۲ تا ۵ ۰۱ کار شارژ می‌خوام",
747
- "واسه شماره ۰۹۱۸۹۸۴ ۰۰۶۰ و ۰۹۱۸۴۵۹ ۱۲۰۱ کار 2 تا شارژ لازم دارم",
748
- "سلام شماره من 09364584541 لازم دارم 1 تا 7 به 874525445",
749
- "۰۹۹ ۹۹۹۵۶۷۵",
750
- "۰۹۹ ۶۵۶ ۶۶۶ssssssdsdaa۰۹۹",
751
- "واسه شماره ۰۹۱۸۹۸۴ ۰۰۶۰ و ۰۹۱۸۴۵۹ ۱۲۰۱ کار 2 تا شارژ لازم دارم سلام شماره من ۰۹۱۸۹۸۴۳۰۱ لازم دارم 1 تا 7 به 874525445",
752
- "شماره ۰۹۱۸۳۶۴۵۴۵ شماره ۰۹۹ ۹۹۹ ۴ تا ۴ و شماره ۰۹۳۷ ۳۶۵۴۴۵",
753
- "شماره ۰۹۳۹۳۶۹۹ شماره ۰۹۹ ۵۴۵ ۹۹۹ شماره ۰۹۱۸۵۴۵ ۵۹۹",
754
- "saa ۰۹۱۸۳۶۴۵۴۵ sfdarrm",
755
- "شماره ۰۹۱۸ ۶۵۴ ۶۶۶ کارت شارژ می خوام",
756
- "۰۹۱۸۹۸۴ ۳۶",
757
- "شماره ۰۹۳۹ ۳۶۹ ۹۹۹ و شماره‌های ۰۹۹ ۵۴۵ ۹۹۹ و شماره ۰۹۱۸۵۴۵۹۶۶",
758
- "۰۹۱۸۹۸۴۴۶",
759
- "۰۹۱۸۹۸۴ ۶۶۶",
760
- "سلام ییدید دیدیددی 1001sssssds100 یتتی091887اتی",
761
- "سلام شکاره 091884 کارت شارژ",
762
- "2 تا 0918 قیمت چند",
763
- "جمع عدد 9364512 چند میشه",
764
- ]
765
-
766
- # Process each test case
767
- for text in test_cases:
768
- normalized_text = phone_nomralizer.normalize_phone_numbers(text)
769
- print(f"Input text: {text}")
770
- print(f"Normalized text: {normalized_text}\n")
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sharedkernel
3
- Version: 1.6
4
- Summary: sharekernel is an shared package between all python projects
3
+ Version: 1.6.2
4
+ Summary: sharekernel is a shared package between all python projects
5
5
  Author: Smilinno
6
6
  Description-Content-Type: text/markdown
7
7
  Requires-Dist: numpy
@@ -20,6 +20,10 @@ Requires-Dist: persiantools
20
20
  this a shared kernel package
21
21
 
22
22
  # Change Log
23
+ ### Version 1.6.2
24
+ - Minor update: normalize function nane
25
+ ### Version 1.6.1
26
+ - Minor update normalize functions
23
27
  ### Version 1.6
24
28
  - Add phone number normalizer
25
29
  ### Version 1.5.2
File without changes