diff options
Diffstat (limited to 'scripts/restore_find_data.py')
| -rw-r--r-- | scripts/restore_find_data.py | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/scripts/restore_find_data.py b/scripts/restore_find_data.py new file mode 100644 index 000000000..df5c38069 --- /dev/null +++ b/scripts/restore_find_data.py @@ -0,0 +1,25 @@ +""" +Restore find data on destructive import +""" + +import sys + +from ishtar_common.utils import update_data +from archaeological_finds.models import Find + +ln = Find.objects.count() + +sys.stdout.write("\n") +for idx, item in enumerate(Find.objects.all()): +    sys.stdout.write("\r* processing {}/{} ({}%)".format( +        idx + 1, ln, (idx + 1)*100.0 / ln)) +    sys.stdout.flush() +    data = item.data +    for h in item.history.order_by('-history_modifier_id', '-history_date', +                                   '-history_id').all(): +        data = update_data(data, h.data) +    item.data = data +    item.skip_history_when_saving = True +    item.save() +sys.stdout.write("\n") + | 
