summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-12-16 03:28:17 -0500
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-12-16 03:28:17 -0500
commit7a5172a6113a9c52ba8e7ceb42a751d79dface3a (patch)
tree0ed0cd815ea33a09559b5bb7fd056f6f729559c1
parentd70190485a65e8c9b4b2ae235a8515aa53327f23 (diff)
downloadaskbot-7a5172a6113a9c52ba8e7ceb42a751d79dface3a.tar.gz
askbot-7a5172a6113a9c52ba8e7ceb42a751d79dface3a.tar.bz2
askbot-7a5172a6113a9c52ba8e7ceb42a751d79dface3a.zip
added commands dump_forum and load_forum
-rw-r--r--askbot/management/commands/dump_forum.py16
-rw-r--r--askbot/management/commands/load_forum.py14
2 files changed, 30 insertions, 0 deletions
diff --git a/askbot/management/commands/dump_forum.py b/askbot/management/commands/dump_forum.py
new file mode 100644
index 00000000..95116ee2
--- /dev/null
+++ b/askbot/management/commands/dump_forum.py
@@ -0,0 +1,16 @@
+from django.core import management
+from django.core.management.base import BaseCommand
+
+class Command(BaseCommand):
+ help = """Dumps askbot forum data into the file for the later use with "load_forum"
+
+usage: python manage.py dump_forum > somefile.json
+
+.json file extension is mandatory
+"""
+ def handle(self, *args, **options):
+ management.call_command(
+ 'dumpdata',
+ exclude = ('contenttypes',),
+ indent = 4
+ )
diff --git a/askbot/management/commands/load_forum.py b/askbot/management/commands/load_forum.py
new file mode 100644
index 00000000..f0b636df
--- /dev/null
+++ b/askbot/management/commands/load_forum.py
@@ -0,0 +1,14 @@
+from django.core import management
+from django.db.models import signals
+from django.core.management.base import BaseCommand
+from askbot import models
+
+class Command(BaseCommand):
+ args = '<data file>'
+ help = 'Loads askbot forum data from the dump file obtained with command "dump_forum"'
+ def handle(self, *args, **options):
+ #need to remove badge data b/c they are aslo in the dump
+ models.BadgeData.objects.all().delete()
+ #turn off the post_save signal so than Activity can be copied
+ signals.post_save.receivers = []
+ management.call_command('loaddata', args[0])