Browse Source

Use the create_test_data function from the populate module

sh4nks 11 years ago
parent
commit
882e3988f6
1 changed files with 2 additions and 172 deletions
  1. 2 172
      manage.py

+ 2 - 172
manage.py

@@ -11,16 +11,13 @@
     :license: BSD, see LICENSE for more details.
 """
 import os
-from collections import OrderedDict
 
 from flask import current_app
 from flask.ext.script import Manager, Shell, Server
 
 from flaskbb import create_app
 from flaskbb.extensions import db
-
-from flaskbb.user.models import User, Group
-from flaskbb.forum.models import Post, Topic, Forum
+from flaskbb.utils import create_test_data
 
 # Use the development configuration if available
 try:
@@ -63,174 +60,7 @@ def createall():
 
     db.create_all()
 
-    groups = OrderedDict((
-        ('Administrator', {
-            'description': 'The Administrator Group',
-            'admin': True,
-            'super_mod': False,
-            'mod': False,
-            'banned': False,
-            'guest': False,
-            'editpost': True,
-            'deletepost': True,
-            'deletetopic': True,
-            'posttopic': True,
-            'postreply': True,
-            'viewtopic': True,
-            'viewprofile': True
-        }),
-        ('Super Moderator', {
-            'description': 'The Super Moderator Group',
-            'admin': False,
-            'super_mod': True,
-            'mod': False,
-            'banned': False,
-            'guest': False,
-            'editpost': True,
-            'deletepost': True,
-            'deletetopic': True,
-            'posttopic': True,
-            'postreply': True,
-            'viewtopic': True,
-            'viewprofiles': True
-        }),
-        ('Moderator', {
-            'description': 'The Moderator Group',
-            'admin': False,
-            'super_mod': False,
-            'mod': True,
-            'banned': False,
-            'guest': False,
-            'editpost': True,
-            'deletepost': True,
-            'deletetopic': True,
-            'posttopic': True,
-            'postreply': True,
-            'viewtopic': True,
-            'viewprofile': True
-        }),
-        ('Member', {
-            'description': 'The Member Group',
-            'admin': False,
-            'super_mod': False,
-            'mod': False,
-            'banned': False,
-            'guest': False,
-            'editpost': True,
-            'deletepost': False,
-            'deletetopic': False,
-            'posttopic': True,
-            'postreply': True,
-            'viewtopic': True,
-            'viewprofile': True
-        }),
-        ('Banned', {
-            'description': 'The Banned Group',
-            'admin': False,
-            'super_mod': False,
-            'mod': False,
-            'banned': True,
-            'guest': False,
-            'editpost': False,
-            'deletepost': False,
-            'deletetopic': False,
-            'posttopic': False,
-            'postreply': False,
-            'viewtopic': False,
-            'viewprofile': False
-        }),
-        ('Guest', {
-            'description': 'The Guest Group',
-            'admin': False,
-            'super_mod': False,
-            'mod': False,
-            'banned': False,
-            'guest': True,
-            'editpost': False,
-            'deletepost': False,
-            'deletetopic': False,
-            'posttopic': False,
-            'postreply': False,
-            'viewtopic': False,
-            'viewprofile': False
-        })
-    ))
-
-    # create 5 groups
-    for key, value in groups.items():
-        group = Group(name=key)
-
-        for k, v in value.items():
-            setattr(group, k, v)
-
-        db.session.add(group)
-        db.session.commit()
-
-    # create 5 users
-    groups = Group.query.all()
-    for u in range(1, 6):
-        username = "test%s" % u
-        email = "test%s@example.org" % u
-        user = User(username=username, password="test", email=email)
-        user.secondary_groups.append(groups[u-1])
-        user.primary_group_id = u
-        db.session.add(user)
-        db.session.commit()
-
-    # create 2 categories
-    for i in range(1, 3):
-        category_title = "Test Category %s" % i
-        category = Forum(is_category=True, title=category_title,
-                         description="Test Description")
-        db.session.add(category)
-
-        # create 2 forums in each category
-        for j in range(1, 3):
-            if i == 2:
-                j += 2
-
-            forum_title = "Test Forum %s %s" % (j, i)
-            forum = Forum(title=forum_title, description="Test Description",
-                          parent_id=i)
-            db.session.add(forum)
-        db.session.commit()
-
-    # create 1 topic in each forum
-    for k in [2, 3, 5, 6]:  # Forum ids are not sequential because categories.
-        topic = Topic()
-        first_post = Post()
-
-        topic.title = "Test Title %s" % k
-        topic.user_id = 1
-        topic.forum_id = k
-        db.session.add(topic)
-        db.session.commit()
-
-        first_post.content = "Test Content"
-        first_post.user_id = 1
-        first_post.topic_id = topic.id
-        db.session.add(first_post)
-        db.session.commit()
-
-        # Invalidate relevant caches
-        topic.invalidate_cache()
-        topic.forum.invalidate_cache()
-
-        # create 2 additional posts for each topic
-        for m in range(1, 3):
-            post = Post(content="Test Post", user_id=2, topic_id=k)
-
-            db.session.add(post)
-            db.session.commit()
-
-            # Update the post count
-            post.user.invalidate_cache()
-            topic.invalidate_cache()
-            topic.forum.invalidate_cache()
-
-            db.session.commit()
-
-    db.session.commit()
+    create_test_data()
 
 
 if __name__ == "__main__":