arpakitlib 1.8.79__py3-none-any.whl → 1.8.81__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.
@@ -6,6 +6,9 @@ import shutil
6
6
  import uuid
7
7
  from typing import Optional, Union, Iterator
8
8
 
9
+ from arpakitlib.ar_datetime_util import now_utc_dt
10
+ from arpakitlib.ar_str_util import none_if_blank
11
+
9
12
  _ARPAKIT_LIB_MODULE_VERSION = "3.0"
10
13
 
11
14
 
@@ -50,15 +53,22 @@ class FileStorageInDir:
50
53
  file_extension: Optional[str] = None,
51
54
  content_to_write: Optional[Union[str, bytes]] = None,
52
55
  create: bool = False,
53
- raise_if_exists: bool = True
56
+ raise_if_exists: bool = True,
57
+ add_datetime_in_filename: bool = False
54
58
  ) -> str:
55
59
  self.init()
56
60
 
61
+ filename = none_if_blank(filename)
62
+
57
63
  if filename is not None:
64
+ if add_datetime_in_filename:
65
+ filename = f"{filename}--{now_utc_dt().isoformat()}"
58
66
  if file_extension is not None:
59
67
  filename += f".{file_extension}"
60
68
  else:
61
69
  filename = str(uuid.uuid4())
70
+ if add_datetime_in_filename:
71
+ filename = f"{filename}--{now_utc_dt().isoformat()}"
62
72
  if file_extension is not None:
63
73
  filename += f".{file_extension}"
64
74
  while filename in os.listdir(self.dirpath):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.79
3
+ Version: 1.8.81
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -345,7 +345,7 @@ arpakitlib/ar_dream_ai_api_client_util.py,sha256=Z1oii_XSsgunYx17SdcHl54S4KPQti7
345
345
  arpakitlib/ar_encrypt_decrypt_util.py,sha256=GhWnp7HHkbhwFVVCzO1H07m-5gryr4yjWsXjOaNQm1Y,520
346
346
  arpakitlib/ar_enumeration_util.py,sha256=XoFInWtGzbIr6fJq0un5nettaDfOLAyY84ovwj7n_7g,3030
347
347
  arpakitlib/ar_exception_util.py,sha256=3hZKsj34TZVdmd4JAQz7w515smWqB8o3gTwAEjuMdnI,408
348
- arpakitlib/ar_file_storage_in_dir_util.py,sha256=D3e3rGuHoI6xqAA5mVvEpVVpOWY1jyjNsjj2UhyHRbE,3674
348
+ arpakitlib/ar_file_storage_in_dir_util.py,sha256=v8Lkx9Vl7BI3gSPPtI23_qLfKyjB1VTu1hiaLhq1RPA,4091
349
349
  arpakitlib/ar_file_util.py,sha256=GUdJYm1tUZnYpY-SIPRHAZBHGra8NKy1eYEI0D5AfhY,489
350
350
  arpakitlib/ar_func_util.py,sha256=lG0bx_DtxWN4skbUim0liRZ6WUyLVV8Qfk6iZNtCZOs,1042
351
351
  arpakitlib/ar_hash_util.py,sha256=Iqy6KBAOLBQMFLWv676boI5sV7atT2B-fb7aCdHOmIQ,340
@@ -374,8 +374,8 @@ arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA8
374
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.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,,
377
+ arpakitlib-1.8.81.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
378
+ arpakitlib-1.8.81.dist-info/METADATA,sha256=ZIimEMiqorRGvfuXXDk4E6xskyv_7ZJxRPjiDDPlErg,3559
379
+ arpakitlib-1.8.81.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
380
+ arpakitlib-1.8.81.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
381
+ arpakitlib-1.8.81.dist-info/RECORD,,