|
|
@@ -14,10 +14,10 @@ def main():
|
|
|
for it in jsgen:
|
|
|
val = it[-1]
|
|
|
if type(val)==str and url_regex.match(val):
|
|
|
- print(it, file=sys.stderr)
|
|
|
+ # print(it, file=sys.stderr)
|
|
|
if args.server_dir:
|
|
|
sha_f = cache_file(val, args.server_dir, force=args.no_cache)
|
|
|
- print(sha_f, file=sys.stderr)
|
|
|
+ # print(sha_f, file=sys.stderr)
|
|
|
if args.url and sha_f:
|
|
|
newurl = args.url + "/blocks/" + sha_f
|
|
|
dict_set(js, it[:-1], newurl)
|
|
|
@@ -50,22 +50,36 @@ def dict_set(dic , path, val):
|
|
|
def cache_file(url, cache_dir, force=False):
|
|
|
import os
|
|
|
import hashlib
|
|
|
+ import json
|
|
|
+ import sys
|
|
|
sha_url = hashlib.sha512()
|
|
|
sha_url.update(url.encode())
|
|
|
sha_url = sha_url.hexdigest()
|
|
|
sha_dir = os.path.join(cache_dir, "sha")
|
|
|
sha_file = os.path.join(sha_dir, sha_url)
|
|
|
+ url_file = os.path.join(cache_dir, "urls.txt")
|
|
|
|
|
|
if not os.path.isdir(sha_dir):
|
|
|
os.makedirs(sha_dir)
|
|
|
sha_f = None
|
|
|
if force or (not os.path.isfile(sha_file)):
|
|
|
sha_f = get_file(url, cache_dir, sha_file)
|
|
|
+ if sha_f:
|
|
|
+ with open(url_file, "w+") as fd:
|
|
|
+ for line in fd.readlines():
|
|
|
+ if json.loads(line)["sha_f"] == sha_f:
|
|
|
+ return sha_f
|
|
|
+ fd.write(json.dumps({"url":url,"sha_f":sha_f,"sha_url":sha_url})+"\n")
|
|
|
else:
|
|
|
try:
|
|
|
- sha_f = sha_file.open(sha_file).read()
|
|
|
- except:
|
|
|
+ print("Trying Cache:", sha_file, file=sys.stderr)
|
|
|
+ sha_f = open(sha_file).read()
|
|
|
+ except Exception as ex:
|
|
|
+ print(ex, file=sys.stderr)
|
|
|
sha_f = None
|
|
|
+ print("Found:", sha_f, file=sys.stderr)
|
|
|
+
|
|
|
+
|
|
|
|
|
|
return sha_f
|
|
|
|