12345678910111213141516171819202122232425262728 |
- from django.core.management.base import BaseCommand
- import os
- import pygal
- from pygal.models import Item
-
-
- class Command(BaseCommand):
- def handle(self, *args, **options):
- lil = self.lost_item_list()
- if len(lil) == 0:
- self.stdout.write(self.style.SUCCESS('No lost items. Nothing to delete.'))
- else:
- self.stdout.write(self.style.WARNING('Lost Items:'))
- for item in lil:
- self.stdout.write(self.style.WARNING(' - %s' % str(item)))
- response = input('Delete the listed items and all data inside permanently? [y/N]: ')
- if response.lower() == 'y':
- self.stdout.write(self.style.SUCCESS('Deleting Items:'))
- for item in lil:
- item.delete()
- self.stdout.write(self.style.SUCCESS(' - Deleted: %s' % str(item)))
-
- def lost_item_list(self):
- lil = []
- for i in Item.objects.all():
- if not os.path.exists(pygal.get_full_path(i.rel_path)):
- lil.append(i)
- return lil
|