Skip to content

Commit

Permalink
Merge pull request #456 from dandi/revalidate-script
Browse files Browse the repository at this point in the history
Add revalidation script
  • Loading branch information
dchiquito committed Aug 5, 2021
2 parents 31b0933 + 9316e39 commit 0f24019
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions dandiapi/api/management/commands/revalidate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import djclick as click

from dandiapi.api.models import Asset, Version
from dandiapi.api.tasks import validate_asset_metadata, validate_version_metadata


@click.command()
@click.option('--assets', is_flag=True, default=False)
@click.option('--versions', is_flag=True, default=False)
def revalidate(assets: bool, versions: bool):
"""
Revalidate all Versions and Assets.
This script will run the validation immediately in band without dispatching tasks to the queue.
"""
if assets:
click.echo('Revalidating assets')
for asset in Asset.objects.values('id'):
validate_asset_metadata(asset['id'])

if versions:
click.echo('Revalidating versions')
# Only revalidate draft versions
for version in Version.objects.filter(version='draft').values('id'):
validate_version_metadata(version['id'])

0 comments on commit 0f24019

Please sign in to comment.