2013-03-11 21:32:09 +01:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
|
|
openslides.utils.management.commands.syncdb
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Overrides the Django syncdb command to setup the database.
|
|
|
|
|
|
|
|
:copyright: (c) 2011-2013 by the OpenSlides team, see AUTHORS.
|
|
|
|
:license: GNU GPL, see LICENSE for more details.
|
|
|
|
"""
|
|
|
|
|
|
|
|
from django.core.management.commands.syncdb import Command as _Command
|
|
|
|
|
|
|
|
from openslides.core.signals import post_database_setup
|
|
|
|
|
|
|
|
|
|
|
|
class Command(_Command):
|
|
|
|
"""
|
|
|
|
Setup the database and sends the signal post_database_setup.
|
|
|
|
"""
|
|
|
|
def handle_noargs(self, *args, **kwargs):
|
2013-06-13 19:41:42 +02:00
|
|
|
"""
|
|
|
|
Calls Django's syncdb command but always in non-interactive mode. After
|
|
|
|
this it sends our post_database_setup signal.
|
|
|
|
"""
|
|
|
|
interactive = kwargs.pop('interactive')
|
|
|
|
return_value = super(Command, self).handle_noargs(*args, interactive=False, **kwargs)
|
2013-03-11 21:32:09 +01:00
|
|
|
post_database_setup.send(sender=self)
|
2013-06-13 19:41:42 +02:00
|
|
|
if interactive:
|
|
|
|
print('Interactive mode (e. g. creating a superuser) is not possibile '
|
|
|
|
'via this command. To create a superuser use the --reset-admin '
|
|
|
|
'option of the main script.')
|
2013-03-11 21:32:09 +01:00
|
|
|
return return_value
|