You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.0 KiB
39 lines
1.0 KiB
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()
|
|
|