arpakitlib 1.8.77__py3-none-any.whl → 1.8.78__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,6 +123,36 @@ 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 float_or_none(value: Any) -> float | int | None:
143
+ value = strip_or_none(value)
144
+ if value is not None and (value.isdigit() or value.isdecimal()):
145
+ return float(value)
146
+ return None
147
+
148
+
149
+ def int_or_none(value: Any) -> int | None:
150
+ value = strip_or_none(value)
151
+ if value is not None and value.isdigit():
152
+ return int(value)
153
+ return None
154
+
155
+
126
156
  def __example():
127
157
  print("str_in:")
128
158
  print(str_in(string="hello", 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.78
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=QUDnnsnA_1FvGM-RiUjz31PB92n-XUbDoz81pWkdvOM,5138
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.78.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
378
+ arpakitlib-1.8.78.dist-info/METADATA,sha256=H0NbOYKglz5d4kfI-ZrCvDSbEKnFoHEIJDrn3-UeoWQ,3559
379
+ arpakitlib-1.8.78.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
380
+ arpakitlib-1.8.78.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
381
+ arpakitlib-1.8.78.dist-info/RECORD,,