skillbox/server/core/management/commands/dummy_data.py

49 lines
1.4 KiB
Python

import os
import shutil
import wagtail_factories
from django.conf import settings
from django.core import management
from django.core.management import BaseCommand
from django.db import connection
from wagtail.core.models import Page
from core.factories import UserFactory
data = [
]
class Command(BaseCommand):
def ensure_clean_dir(self, folder):
path = os.path.join(settings.MEDIA_ROOT, folder)
if os.path.exists(path):
shutil.rmtree(path)
if not os.path.exists(path):
os.makedirs(path)
def handle(self, *args, **options):
with connection.cursor() as cursor:
cursor.execute("DROP SCHEMA IF EXISTS public CASCADE;")
cursor.execute(
"CREATE SCHEMA IF NOT EXISTS public AUTHORIZATION {};".format(settings.DATABASES['default']['USER']))
cursor.execute("GRANT ALL ON SCHEMA public TO postgres;")
management.call_command('migrate', verbosity=0, interactive=False)
self.ensure_clean_dir('images')
self.ensure_clean_dir('original_images')
self.ensure_clean_dir('documents')
site = wagtail_factories.SiteFactory.create(is_default_site=True)
Page.objects.filter(title='Root').delete()
u = UserFactory(
username='test',
is_staff=True,
is_superuser=True
)
for i in range(0, 4):
UserFactory(username='user{}'.format(i))