summaryrefslogtreecommitdiffstats
path: root/databaseResetM.py
diff options
context:
space:
mode:
authorSam Wenham <sam@wenhams.co.uk>2019-03-04 19:39:57 +0000
committerSam Wenham <sam@wenhams.co.uk>2019-03-04 19:39:57 +0000
commit384b0438b49de3db6aafae7bc986ffa22ddf4795 (patch)
treed063f0fddafe26abf2dda6454bc0046e50a48dd1 /databaseResetM.py
parente01507d54112cfc61748eeff27a3a264e1ad7516 (diff)
downloadtroggle-384b0438b49de3db6aafae7bc986ffa22ddf4795.tar.gz
troggle-384b0438b49de3db6aafae7bc986ffa22ddf4795.tar.bz2
troggle-384b0438b49de3db6aafae7bc986ffa22ddf4795.zip
Backed out changeset: e80a936faab6
Diffstat (limited to 'databaseResetM.py')
-rw-r--r--databaseResetM.py117
1 files changed, 0 insertions, 117 deletions
diff --git a/databaseResetM.py b/databaseResetM.py
deleted file mode 100644
index 07e4702..0000000
--- a/databaseResetM.py
+++ /dev/null
@@ -1,117 +0,0 @@
-import os
-import time
-import settings
-os.environ['PYTHONPATH'] = settings.PYTHON_PATH
-os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')
-from django.core import management
-from django.db import connection
-from django.contrib.auth.models import User
-from django.http import HttpResponse
-from django.core.urlresolvers import reverse
-from troggle.core.models import Cave, Entrance
-from troggle.core.models import PersonM, SurveyM, CaveM, ExpeditionM, Logbook_entryM
-import troggle.flatpages.models
-
-databasename=settings.DATABASES['default']['NAME']
-expouser=settings.EXPOUSER
-expouserpass=settings.EXPOUSERPASS
-expouseremail=settings.EXPOUSER_EMAIL
-
-def destroy():
- if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.sqlite3':
- try:
- os.remove(databasename)
- except OSError:
- pass
- else:
- cursor = connection.cursor()
- cursor.execute("DROP DATABASE %s" % databasename)
- cursor.execute("CREATE DATABASE %s" % databasename)
- cursor.execute("ALTER DATABASE %s CHARACTER SET=utf8" % databasename)
- cursor.execute("USE %s" % databasename)
- management.call_command('syncdb', interactive=False)
- user = User.objects.create_user(expouser, expouseremail, expouserpass)
- user.is_staff = True
- user.is_superuser = True
- user.save()
- print('Nuked the database and rebuilt it. You savage monster')
-
-def gracefull_flush():
- CaveM.objects.all().delete()
- PersonM.objects.all().delete()
- SurveyM.objects.all().delete()
- ExpeditionM.objects.all().delete()
- Logbook_entryM.objects.all().delete()
- print('Deleted contents of the database, ready to load new stuff :)')
-
-def load_redirects():
- for oldURL, newURL in [("indxal.htm", reverse("caveindex"))]:
- f = troggle.flatpages.models.Redirect(originalURL = oldURL, newURL = newURL)
- f.save()
-
-def load_caves():
- import troggle.parsers.cavesM
- troggle.parsers.cavesM.load()
-
-def load_all():
- load_caves()
- load_surveys()
- load_people()
- load_redirects()
- load_links()
- print('Loaded everything. Your database is ready to go :)')
-
-
-def help():
- print("""Usage is 'python databaseResetM.py <command>'
- where command is:
- UNLOADERS:
- gracefull_flush - flushes new (M-style) databases contents but keeps tables existing
- destroy - destroys entire database and builds empty tables
-
- LOADERS:
- load_all - loads all tables and links
- load_caves - loads all caves
- load_surveys - loads all surveys (corresponds to .svx files)
- load_people - loads all people
- load_redirects - load page redirects
- load_links - loads links between classes (run last! can't link non-existent things)
-
- OTHER:
- help - displays this page
- ----------------
- This is a new version of database management written by RW 2019
- ----------------
- """)
-
-if __name__ == "__main__":
- import troggle.core.models
- import sys
- import django
- django.setup()
- if "destroy" in sys.argv:
- destroy()
- elif "gracefull_flush" in sys.argv:
- gracefull_flush()
-
- elif "load_all" in sys.argv:
- load_all()
- elif "load_caves" in sys.argv:
- load_caves()
- elif "load_surveys" in sys.argv:
- load_surveys()
- elif "load_people" in sys.argv:
- load_people()
- elif "load_redirects" in sys.argv:
- load_redirects()
- elif "load_links" in sys.argv:
- load_links()
- elif "help" in sys.argv:
- help()
- else:
- print("%s not recognised" % sys.argv)
- help()
-
-
-
-