X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/ac39503a5a9a16c1098e65ee16a866cf8eb19a8f..2e76a99938547ca608f9e109bbe3322571976495:/src/archive/utils.py diff --git a/src/archive/utils.py b/src/archive/utils.py index f169847..35f7a74 100644 --- a/src/archive/utils.py +++ b/src/archive/utils.py @@ -1,12 +1,12 @@ from hashlib import sha1 import os import os.path +import subprocess from django.core.files.storage import FileSystemStorage from django.core.files.uploadedfile import UploadedFile class ExistingFile(UploadedFile): - def __init__(self, path, *args, **kwargs): self.path = path return super(ExistingFile, self).__init__(*args, **kwargs) @@ -19,7 +19,6 @@ class ExistingFile(UploadedFile): class OverwriteStorage(FileSystemStorage): - def _save(self, name, content): if self.exists(name): self.delete(name) @@ -31,14 +30,13 @@ class OverwriteStorage(FileSystemStorage): def sha1_file(f): sha = sha1() - for piece in iter(lambda: f.read(1024*1024), ''): + for piece in iter(lambda: f.read(1024 * 1024), b""): sha.update(piece) return sha.hexdigest() def all_files(root_path): root_len = len(root_path) - for path, dirs, files in os.walk(root_path): + for path, dirs, files in os.walk(root_path, followlinks=True): for fname in files: - yield os.path.join(path, fname)[root_len:].lstrip('/') - + yield os.path.join(path, fname)[root_len:].lstrip("/")