diff options
author | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 06:15:48 +0100 |
---|---|---|
committer | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 06:15:48 +0100 |
commit | 625b2156e388a92d57fa446c931bbf410f5a4e29 (patch) | |
tree | 8866421569ba567be82b58a45d90e142c46e5c0a /databaseReset.py | |
parent | 1a36856b407684a9d48f04e170a160b3c04aa706 (diff) | |
download | troggle-625b2156e388a92d57fa446c931bbf410f5a4e29.tar.gz troggle-625b2156e388a92d57fa446c931bbf410f5a4e29.tar.bz2 troggle-625b2156e388a92d57fa446c931bbf410f5a4e29.zip |
[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
Diffstat (limited to 'databaseReset.py')
-rw-r--r-- | databaseReset.py | 77 |
1 files changed, 51 insertions, 26 deletions
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 |