diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-10-27 00:01:03 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-10-27 00:01:03 +0200 |
commit | 8d9fa3c928d888533412be6bb59d58fddd230d1e (patch) | |
tree | 19bd7230a7192fa3d69cf3804173cca868f1c0f2 /misc/history_duplicate_clean.py | |
parent | 37ed354c714f82cc6b137e48c091054a8a42c962 (diff) | |
parent | f20c31157c229f32bb39854c52732a6c107e5ce7 (diff) | |
download | Ishtar-8d9fa3c928d888533412be6bb59d58fddd230d1e.tar.bz2 Ishtar-8d9fa3c928d888533412be6bb59d58fddd230d1e.zip |
Merge branch 'master' of lysithea.proxience.net:/home/proxience/git/ishtar
Diffstat (limited to 'misc/history_duplicate_clean.py')
-rw-r--r-- | misc/history_duplicate_clean.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/misc/history_duplicate_clean.py b/misc/history_duplicate_clean.py new file mode 100644 index 000000000..61d358720 --- /dev/null +++ b/misc/history_duplicate_clean.py @@ -0,0 +1,31 @@ +""" +Clean duplicate in history. +This should be unecessary now. +""" + +import datetime +from archaeological_operations.models import Operation, AdministrativeAct +from archaeological_files.models import File +from archaeological_context_records.models import ContextRecord +from archaeological_finds.models import Find, BaseFind, Treatment + +nb_deleted = {} +to_delete = [] +for model in [Operation, File, ContextRecord, AdministrativeAct, Find, + BaseFind, Treatment]: + nb_deleted[model.__name__] = 0 + for item in model.objects.all()[0:]: + c_user, c_date = None, None + for h in item.history.order_by('-history_modifier_id', '-history_date', + '-history_id').all(): + if c_user and c_date and h.history_modifier_id == c_user and \ + c_date - h.history_date < datetime.timedelta(seconds=5): + to_delete.append(h) + c_user = h.history_modifier_id + c_date = h.history_date + nb_deleted[model.__name__] += len(to_delete) + +for item in to_delete: + item.delete() +for m in nb_deleted: + print "* %d deleted for %s" % (nb_deleted[m], m) |