From 625b2156e388a92d57fa446c931bbf410f5a4e29 Mon Sep 17 00:00:00 2001 From: substantialnoninfringinguser Date: Wed, 13 May 2009 06:15:48 +0100 Subject: [svn] Weeks of local changes. - Import is now non-destructive - Parsers write output to a log file (path be specified in settings) - databaseReset.py content been divided into separate functions which can be called for varying levels of deletion and importing - control panel (view, template, urlpattern) added for deleting and importing - Logins and signup fixed - CaveArea model updated, view, hierarchical url patterns, and beginning of template added - New site style Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8324 by cucc @ 5/3/2009 5:56 AM --- databaseReset.py | 77 +++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 26 deletions(-) (limited to 'databaseReset.py') diff --git a/databaseReset.py b/databaseReset.py index 4b3c91c..f2c3b51 100644 --- a/databaseReset.py +++ b/databaseReset.py @@ -1,33 +1,58 @@ import os +import time import settings os.environ['PYTHONPATH'] = settings.PYTHON_PATH os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' from django.core import management from django.db import connection - -cursor = connection.cursor() -cursor.execute("drop database %s" % settings.DATABASE_NAME) -cursor.execute("create database %s" % settings.DATABASE_NAME) -cursor.execute("ALTER DATABASE %s CHARACTER SET=utf8" % settings.DATABASE_NAME) -cursor.execute("USE %s" % settings.DATABASE_NAME) -management.call_command('syncdb') from django.contrib.auth.models import User -user = User.objects.create_user('m', 'm@m.com', 'm') -user.is_staff = True -user.is_superuser = True -user.save() - -#Make directories that troggle requires -if not os.path.isdir(settings.PHOTOS_ROOT): - os.mkdir(settings.PHOTOS_ROOT) - -import parsers.cavetab -parsers.cavetab.LoadCaveTab() -import parsers.people -parsers.people.LoadPersonsExpos() -import parsers.logbooks -parsers.logbooks.LoadLogbooks() -import parsers.survex -parsers.survex.LoadAllSurvexBlocks() -import parsers.QMs -import parsers.surveys + +def reload_db(): + cursor = connection.cursor() + cursor.execute("drop database %s" % settings.DATABASE_NAME) + cursor.execute("create database %s" % settings.DATABASE_NAME) + cursor.execute("ALTER DATABASE %s CHARACTER SET=utf8" % settings.DATABASE_NAME) + cursor.execute("USE %s" % settings.DATABASE_NAME) + management.call_command('syncdb') + user = User.objects.create_user('m', 'm@m.com', 'm') + user.is_staff = True + user.is_superuser = True + user.save() + +def make_dirs(): + """Make directories that troggle requires""" + if not os.path.isdir(settings.PHOTOS_ROOT): + os.mkdir(settings.PHOTOS_ROOT) + +def import_cavetab(): + import parsers.cavetab + parsers.cavetab.LoadCaveTab(logfile=settings.LOGFILE) + +def import_people(): + import parsers.people + parsers.people.LoadPersonsExpos() + +def import_logbooks(): + settings.LOGFILE.write('\nBegun importing logbooks at ' + time.asctime() +'\n'+'-'*60) + import parsers.logbooks + parsers.logbooks.LoadLogbooks() + +def import_survex(): + import parsers.survex + parsers.survex.LoadAllSurvexBlocks() + +def import_QMs(): + import parsers.QMs + +def import_surveys(): + import parsers.surveys + +def reset(): + reload_db() + make_dirs() + import_cavetab() + import_people() + import_logbooks() + import_survex() + import_QMs() + import_surveys() \ No newline at end of file -- cgit v1.2.3