dcicutils 8.8.4.1b1__py3-none-any.whl → 8.8.4.1b3__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.
dcicutils/file_utils.py CHANGED
@@ -56,3 +56,17 @@ def search_for_file(file: str,
56
56
  if files_found:
57
57
  return files_found[0] if single else files_found
58
58
  return None if single else []
59
+
60
+
61
+ def normalize_file_path(path: str, including_home_directory: bool = False) -> str:
62
+ if not isinstance(path, str) or not path:
63
+ path = os.getcwd()
64
+ path = os.path.normpath(path)
65
+ home_directory = os.path.expanduser("~")
66
+ if path.startswith("~"):
67
+ path = os.path.join(home_directory, path[2 if path.startswith("~/") else 1:])
68
+ path = os.path.abspath(path)
69
+ if including_home_directory and (os.name == "posix"):
70
+ if path.startswith(home_directory) and path != home_directory:
71
+ path = "~/" + pathlib.Path(path).relative_to(home_directory).as_posix()
72
+ return path
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.8.4.1b1
3
+ Version: 8.8.4.1b3
4
4
  Summary: Utility package for interacting with the 4DN Data Portal and other 4DN resources
5
5
  Home-page: https://github.com/4dn-dcic/utils
6
6
  License: MIT
@@ -24,6 +24,7 @@ Classifier: Programming Language :: Python :: 3.9
24
24
  Classifier: Topic :: Database :: Database Engines/Servers
25
25
  Requires-Dist: PyJWT (>=2.6.0,<3.0.0)
26
26
  Requires-Dist: PyYAML (>=6.0.1,<7.0.0)
27
+ Requires-Dist: appdirs (>=1.4.4,<2.0.0)
27
28
  Requires-Dist: aws-requests-auth (>=0.4.2,<1)
28
29
  Requires-Dist: boto3 (>=1.28.57,<2.0.0)
29
30
  Requires-Dist: botocore (>=1.31.57,<2.0.0)
@@ -28,7 +28,7 @@ dcicutils/es_utils.py,sha256=ZksLh5ei7kRUfiFltk8sd2ZSfh15twbstrMzBr8HNw4,7541
28
28
  dcicutils/exceptions.py,sha256=4giQGtpak-omQv7BP6Ckeu91XK5fnDosC8gfdmN_ccA,9931
29
29
  dcicutils/ff_mocks.py,sha256=6RKS4eUiu_Wl8yP_8V0CaV75w4ZdWxdCuL1CVlnMrek,36918
30
30
  dcicutils/ff_utils.py,sha256=oIhuZPnGtfwj6bWyCc1u23JbMB_6InPp01ZqUOljd8M,73123
31
- dcicutils/file_utils.py,sha256=098rXvLeIh8n69EGW7DpOS227ef3BPgwhRAktoU6mhE,2663
31
+ dcicutils/file_utils.py,sha256=7Y58GW7hUCWaXcreGDx0iYKrnXdwago8uRA_671ITgU,3277
32
32
  dcicutils/function_cache_decorator.py,sha256=XMyiEGODVr2WoAQ68vcoX_9_Xb9p8pZXdXl7keU8i2g,10026
33
33
  dcicutils/glacier_utils.py,sha256=Q4CVXsZCbP-SoZIsZ5NMcawDfelOLzbQnIlQn-GdlTo,34149
34
34
  dcicutils/http_utils.py,sha256=UKIsP-e8NOZN_4ScLDoFA4Bd1ifYBLTl6RrwvRfuAPY,549
@@ -73,8 +73,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
73
73
  dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
74
74
  dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
75
75
  dcicutils/zip_utils.py,sha256=dEnUZ1GHfJHPmqXBIqYRorsClSeUTPADoBMxp9TWacI,2994
76
- dcicutils-8.8.4.1b1.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
77
- dcicutils-8.8.4.1b1.dist-info/METADATA,sha256=roNVG2Ga9ZJ29DEKEkcVxJFztCuq3YS-5eIIfnHfjWw,3356
78
- dcicutils-8.8.4.1b1.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
79
- dcicutils-8.8.4.1b1.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
80
- dcicutils-8.8.4.1b1.dist-info/RECORD,,
76
+ dcicutils-8.8.4.1b3.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
77
+ dcicutils-8.8.4.1b3.dist-info/METADATA,sha256=-2XbSvptAw3-Hd3TsDWU4bG97BjDOjhMVGG26T-lOBA,3396
78
+ dcicutils-8.8.4.1b3.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
79
+ dcicutils-8.8.4.1b3.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
80
+ dcicutils-8.8.4.1b3.dist-info/RECORD,,