28 lines
768 B
Python
28 lines
768 B
Python
from django.core.management.base import BaseCommand
|
|
from ...models import BorgRepository
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = "Update the used quota values"
|
|
|
|
def add_arguments(self, parser):
|
|
parser.add_argument("--user-id", type=int)
|
|
parser.add_argument("--repository-id", type=int, nargs="+")
|
|
|
|
def handle(self, *args, **options):
|
|
print(options)
|
|
|
|
qs = BorgRepository.objects.all()
|
|
|
|
if options.get("user_id"):
|
|
qs = qs.filter(user__pk=options.get("user_id"))
|
|
|
|
if options.get("repository_id"):
|
|
qs = qs.filter(pk__in=options.get("repository_id"))
|
|
|
|
print(qs)
|
|
|
|
for repo in qs:
|
|
repo.refresh_quota()
|
|
|
|
BorgRepository.objects.bulk_update(qs, ["used_quota"])
|