Support user-specified expiration times #72

Manually merged
mia merged 14 commits from :expiration into master 2022-11-29 16:20:08 +01:00
Showing only changes of commit 19d989b696 - Show all commits

View file

@ -62,7 +62,7 @@ def upgrade():
# List of file hashes which have not expired yet # List of file hashes which have not expired yet
# This could get really big for some servers # This could get really big for some servers
try: try:
unexpired_files = set(os.listdir(storage)) unexpired_files = os.listdir(storage)
except FileNotFoundError: except FileNotFoundError:
return # There are no currently unexpired files return # There are no currently unexpired files
@ -70,11 +70,11 @@ def upgrade():
files = session.scalars( files = session.scalars(
sa.select(File) sa.select(File)
.where( .where(
sa.not_(File.removed) sa.not_(File.removed),
File.sha256.in_(unexpired_files)
) )
) )
for file in files: for file in files:
if file.sha256 in unexpired_files:
file_path = storage / file.sha256 file_path = storage / file.sha256
stat = os.stat(file_path) stat = os.stat(file_path)
max_age = get_max_lifespan(stat.st_size) # How long the file is allowed to live, in ms max_age = get_max_lifespan(stat.st_size) # How long the file is allowed to live, in ms