import django
from django.dispatch import dispatcher
from django.db.models import signals
from pycon.features import models as feature_models

features = [
    'ViewSchedule',
    'UploadEventMaterials',
    'ScheduleFeed',
    'LinkZopeTalkArchive', ]

groups = [
    'Presenters',
    'Keynotes',
    'Session Chairs',
    'Teachers']

def create_features(app=None, created_models=None, verbosity=None, **kwdargs):
    for name in features:
        feat, isnew = feature_models.Feature.objects.get_or_create(name=name)
        if isnew:
            feat.save()

def create_groups(app=None, created_models=None, verbosity=None, **kwdargs):
    from django.contrib.auth.models import Group
    for gname in groups:
        group, is_new = Group.objects.get_or_create(name=gname)
        if is_new: group.save()

dispatcher.connect(create_features, sender=feature_models,
                   signal=signals.post_syncdb)

dispatcher.connect(create_groups,   sender=feature_models,
                   signal=signals.post_syncdb)
