diff options
author | sotech117 <michael_foiani@brown.edu> | 2025-07-31 17:27:24 -0400 |
---|---|---|
committer | sotech117 <michael_foiani@brown.edu> | 2025-07-31 17:27:24 -0400 |
commit | 5bf22fc7e3c392c8bd44315ca2d06d7dca7d084e (patch) | |
tree | 8dacb0f195df1c0788d36dd0064f6bbaa3143ede /venv/lib/python3.8/site-packages/dash/fingerprint.py | |
parent | b832d364da8c2efe09e3f75828caf73c50d01ce3 (diff) |
add code for analysis of data
Diffstat (limited to 'venv/lib/python3.8/site-packages/dash/fingerprint.py')
-rw-r--r-- | venv/lib/python3.8/site-packages/dash/fingerprint.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/venv/lib/python3.8/site-packages/dash/fingerprint.py b/venv/lib/python3.8/site-packages/dash/fingerprint.py new file mode 100644 index 0000000..c384e0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/dash/fingerprint.py @@ -0,0 +1,25 @@ +import re + +cache_regex = re.compile(r"^v[\w-]+m[0-9a-fA-F]+$") +version_clean = re.compile(r"[^\w-]") + + +def build_fingerprint(path, version, hash_value): + path_parts = path.split("/") + filename, extension = path_parts[-1].split(".", 1) + file_path = "/".join(path_parts[:-1] + [filename]) + v_str = re.sub(version_clean, "_", str(version)) + + return f"{file_path}.v{v_str}m{hash_value}.{extension}" + + +def check_fingerprint(path): + path_parts = path.split("/") + name_parts = path_parts[-1].split(".") + + # Check if the resource has a fingerprint + if len(name_parts) > 2 and cache_regex.match(name_parts[1]): + original_name = ".".join([name_parts[0]] + name_parts[2:]) + return "/".join(path_parts[:-1] + [original_name]), True + + return path, False |