Add script for deleting and merging redundant courses
This commit is contained in:
parent
855006f95a
commit
54c85fb2af
39
apiserver/delete_course_merge_into.py
Executable file
39
apiserver/delete_course_merge_into.py
Executable file
|
@ -0,0 +1,39 @@
|
|||
import django, sys, os
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'apiserver.settings'
|
||||
django.setup()
|
||||
|
||||
from apiserver.api import models
|
||||
|
||||
print()
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
print('Invalid arguments.')
|
||||
print('Usage: python delete_course_merge_into.py 123 456')
|
||||
os._exit(1)
|
||||
|
||||
course_to_delete_id = sys.argv[1]
|
||||
course_merge_into_id = sys.argv[2]
|
||||
|
||||
course_to_delete = models.Course.objects.get(id=course_to_delete_id)
|
||||
course_merge_into = models.Course.objects.get(id=course_merge_into_id)
|
||||
|
||||
print('Delete course', course_to_delete_id, course_to_delete.name)
|
||||
print('and merge into', course_merge_into_id, course_merge_into.name, '?')
|
||||
print('ENTER to continue, ctrl-c to abort.')
|
||||
try:
|
||||
input()
|
||||
except KeyboardInterrupt:
|
||||
print('\nCancelled.')
|
||||
os._exit(0)
|
||||
|
||||
interests = course_to_delete.interests
|
||||
|
||||
print('Deleting', interests.count(), 'interests...')
|
||||
interests.all().delete()
|
||||
|
||||
sessions = course_to_delete.sessions
|
||||
print('Moving', sessions.count(), 'sessions...')
|
||||
sessions.update(course=course_merge_into)
|
||||
|
||||
print('Deleting course...')
|
||||
course_to_delete.delete()
|
Loading…
Reference in New Issue
Block a user