Moves destroy_environment to wipealldata command

This commit is contained in:
Will Kahn-Greene 2011-07-27 15:38:47 -07:00
parent 88bbab2789
commit 763cf83f64
3 changed files with 55 additions and 22 deletions

View File

@ -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"

View File

@ -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'},
}

View File

@ -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"