From: Will Kahn-Greene Date: Wed, 27 Jul 2011 22:38:47 +0000 (-0700) Subject: Moves destroy_environment to wipealldata command X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=763cf83f641e03070f11304a8bdeee31eab1a726;p=mediagoblin.git Moves destroy_environment to wipealldata command --- 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 . + +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"