##// END OF EJS Templates
Added image aliases to upload the same images (like "fake" or "gtfo")
Added image aliases to upload the same images (like "fake" or "gtfo")

File last commit:

r1304:8a9a8cc0 default
r1500:9178427e default
Show More
cleanfiles.py
46 lines | 1.5 KiB | text/x-python | PythonLexer
import os
from django.core.management import BaseCommand
from django.db import transaction
from boards.models import Attachment
from boards.models.attachment import FILES_DIRECTORY
from boards.models.image import IMAGES_DIRECTORY, PostImage, IMAGE_THUMB_SIZE
from neboard.settings import MEDIA_ROOT
__author__ = 'neko259'
class Command(BaseCommand):
help = 'Remove files whose models were deleted'
@transaction.atomic
def handle(self, *args, **options):
count = 0
thumb_prefix = '.{}x{}'.format(*IMAGE_THUMB_SIZE)
model_files = os.listdir(MEDIA_ROOT + IMAGES_DIRECTORY)
for file in model_files:
image_name = file if thumb_prefix not in file else file.replace(thumb_prefix, '')
found = PostImage.objects.filter(
image=IMAGES_DIRECTORY + image_name).exists()
if not found:
print('Missing {}'.format(image_name))
os.remove(MEDIA_ROOT + IMAGES_DIRECTORY + file)
count += 1
print('Deleted {} image files.'.format(count))
count = 0
model_files = os.listdir(MEDIA_ROOT + FILES_DIRECTORY)
for file in model_files:
found = Attachment.objects.filter(file=FILES_DIRECTORY + file)\
.exists()
if not found:
print('Missing {}'.format(file))
os.remove(MEDIA_ROOT + FILES_DIRECTORY + file)
count += 1
print('Deleted {} attachment files.'.format(count))