arpakitlib 1.8.77__py3-none-any.whl → 1.8.79__py3-none-any.whl

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.
arpakitlib/ar_str_util.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # arpakit
2
2
 
3
- from typing import Optional
3
+ from typing import Optional, Any
4
4
 
5
5
  import markdown
6
6
  from bs4 import BeautifulSoup
@@ -123,7 +123,54 @@ def strip_if_not_none(v: str | None) -> str | None:
123
123
  return v.strip()
124
124
 
125
125
 
126
+ def strip_or_none(value: Any):
127
+ if isinstance(value, str):
128
+ value = value.strip()
129
+ if not value:
130
+ return None
131
+ return value
132
+ return None
133
+
134
+
135
+ def lower_and_strip_or_none(value: Any) -> str | None:
136
+ value = strip_or_none(value)
137
+ if isinstance(value, str):
138
+ return value.lower().strip()
139
+ return None
140
+
141
+
142
+ def int_or_float_or_none(value: Any) -> float | int | None:
143
+ if isinstance(value, float) or isinstance(value, int):
144
+ return value
145
+ value = strip_or_none(value)
146
+ if value is not None and value.isdigit():
147
+ return int(value)
148
+ if value is not None and value.isdecimal():
149
+ return float(value)
150
+ return None
151
+
152
+
153
+ def int_or_none(value: Any) -> int | None:
154
+ if isinstance(value, int):
155
+ return value
156
+ value = strip_or_none(value)
157
+ if value is not None and value.isdigit():
158
+ return int(value)
159
+ return None
160
+
161
+
162
+ def float_or_none(value: Any) -> float | None:
163
+ if isinstance(value, float):
164
+ return value
165
+ value = strip_or_none(value)
166
+ if value is not None and value.isdecimal():
167
+ return float(value)
168
+ return None
169
+
170
+
126
171
  def __example():
172
+ print(int_or_none("124.124"))
173
+
127
174
  print("str_in:")
128
175
  print(str_in(string="hello", main_string="hello world"))
129
176
  print(str_in(string="bye", main_string="hello world"))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.77
3
+ Version: 1.8.79
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -371,11 +371,11 @@ arpakitlib/ar_sleep_util.py,sha256=OaLtRaJQWMkGjfj_mW1RB2P4RaSWsAIH8LUoXqsH0zM,1
371
371
  arpakitlib/ar_sqladmin_util.py,sha256=Jd33EX_fAso4bvrcDhNEYOUlUHkudbadNGOJDg7rqhQ,301
372
372
  arpakitlib/ar_sqlalchemy_util.py,sha256=Fo7xdHu1rjyHNj2XzN7r_yXbaajGK8dxBPsOL6-DzVU,10559
373
373
  arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA85NE,6865
374
- arpakitlib/ar_str_util.py,sha256=NisRtt4xwE7qthkkXzL49jvGKMGlvJ4KKcvpQfmRlIw,4415
374
+ arpakitlib/ar_str_util.py,sha256=CuIptQwHP0msTLNJbp-OFAdInVeTY4P58p7jFdeGm-4,5591
375
375
  arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
376
376
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
377
- arpakitlib-1.8.77.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
378
- arpakitlib-1.8.77.dist-info/METADATA,sha256=N-xf5XlD_E-gEWtMz1XgGmUkAdupm13BT9Lm6tAU7sM,3559
379
- arpakitlib-1.8.77.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
380
- arpakitlib-1.8.77.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
381
- arpakitlib-1.8.77.dist-info/RECORD,,
377
+ arpakitlib-1.8.79.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
378
+ arpakitlib-1.8.79.dist-info/METADATA,sha256=pUulULnFKaX4bgKPtdBf09rFLaKawnnYPID-v_0GZig,3559
379
+ arpakitlib-1.8.79.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
380
+ arpakitlib-1.8.79.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
381
+ arpakitlib-1.8.79.dist-info/RECORD,,