aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdestroy_environment.py22
-rw-r--r--mediagoblin/gmg_commands/__init__.py4
-rw-r--r--mediagoblin/gmg_commands/wipealldata.py51
3 files changed, 55 insertions, 22 deletions
diff --git a/destroy_environment.py b/destroy_environment.py
deleted file mode 100755
index bbdeffe9..00000000
--- a/destroy_environment.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!./bin/python
-
-import pymongo
-import sys, os
-
-print "*** WARNING! ***"
-print " Running this will destroy your mediagoblin database,"
-print " remove all your media files in user_dev/, etc."
-
-drop_it = raw_input(
- 'Are you SURE you want to destroy your environment? (if so, type "yes")> ')
-
-if not drop_it == 'yes':
- sys.exit(1)
-
-conn = pymongo.Connection()
-conn.drop_database('mediagoblin')
-
-os.popen('rm -rf user_dev/media')
-os.popen('rm -rf user_dev/beaker')
-
-print "removed all your stuff! okay, now re-run ./bin/buildout"
diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py
index 0cb4d3a2..921f0430 100644
--- a/mediagoblin/gmg_commands/__init__.py
+++ b/mediagoblin/gmg_commands/__init__.py
@@ -40,6 +40,10 @@ SUBCOMMAND_MAP = {
'setup': 'mediagoblin.gmg_commands.users:changepw_parser_setup',
'func': 'mediagoblin.gmg_commands.users:changepw',
'help': 'Makes admin an user'},
+ 'wipealldata': {
+ 'setup': 'mediagoblin.gmg_commands.wipealldata:wipe_parser_setup',
+ 'func': 'mediagoblin.gmg_commands.wipealldata:wipe',
+ 'help': 'Wipes **all** the data for this MediaGoblin instance'},
}
diff --git a/mediagoblin/gmg_commands/wipealldata.py b/mediagoblin/gmg_commands/wipealldata.py
new file mode 100644
index 00000000..9ad32051
--- /dev/null
+++ b/mediagoblin/gmg_commands/wipealldata.py
@@ -0,0 +1,51 @@
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011 Free Software Foundation, Inc
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import sys
+import pymongo
+import sys
+import os
+import shutil
+
+
+def wipe_parser_setup(subparser):
+ pass
+
+
+def wipe(args):
+ print "*** WARNING! ***"
+ print ""
+ print "Running this will destroy your mediagoblin database,"
+ print "remove all your media files in user_dev/, etc."
+
+ drop_it = raw_input(
+ 'Are you **SURE** you want to destroy your environment? '
+ '(if so, type "yes")> ')
+
+ if not drop_it == 'yes':
+ return
+
+ print "nixing data in mongodb...."
+ conn = pymongo.Connection()
+ conn.drop_database('mediagoblin')
+
+ for directory in [os.path.join(os.getcwd(), "user_dev", "media"),
+ os.path.join(os.getcwd(), "user_dev", "beaker")]:
+ if os.path.exists(directory):
+ print "nixing %s...." % directory
+ shutil.rmtree(directory)
+
+ print "removed all your stuff! okay, now re-run ./bin/buildout"