mirror of
https://github.com/dylanaraps/pywal.git
synced 2024-11-07 08:34:01 +01:00
Merge pull request #308 from dgrisham/feat/hash-file-for-cache-fname
Hash file for cache filename
This commit is contained in:
commit
f38d630a63
@ -4,7 +4,6 @@ Generate a palette using various backends.
|
||||
import logging
|
||||
import os
|
||||
import random
|
||||
import re
|
||||
import sys
|
||||
|
||||
from . import theme
|
||||
@ -86,9 +85,9 @@ def saturate_colors(colors, amount):
|
||||
def cache_fname(img, backend, light, cache_dir, sat=""):
|
||||
"""Create the cache file name."""
|
||||
color_type = "light" if light else "dark"
|
||||
file_name = re.sub("[/|\\|.]", "_", img)
|
||||
file_hash = util.hashf(img)
|
||||
|
||||
file_parts = [file_name, color_type, backend, sat, __cache_version__]
|
||||
file_parts = [file_hash, color_type, backend, sat, __cache_version__]
|
||||
return [cache_dir, "schemes", "%s_%s_%s_%s_%s.json" % (*file_parts,)]
|
||||
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
Misc helper functions.
|
||||
"""
|
||||
import colorsys
|
||||
import hashlib
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
@ -178,3 +179,14 @@ def get_pid(name):
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
def hashf(fpath):
|
||||
"""Get the md5 hash of a file."""
|
||||
return hashlib.md5(file_bytes(open(fpath, 'rb'))).hexdigest()
|
||||
|
||||
|
||||
def file_bytes(fpath):
|
||||
"""Helper function to read file."""
|
||||
with fpath:
|
||||
return fpath.read()
|
||||
|
Loading…
Reference in New Issue
Block a user