summaryrefslogtreecommitdiffstats
path: root/core/management
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2020-05-28 02:09:36 +0100
committerPhilip Sargent <philip.sargent@klebos.com>2020-05-28 02:09:36 +0100
commitd2192ffd21c16ebd1ca5b39ecd489241201ecd20 (patch)
tree1bd1ae4d4c5282d55ce615f2d804962b82093bbb /core/management
parentcb4128436c213a99072683ed4c988b39dc744c36 (diff)
downloadtroggle-d2192ffd21c16ebd1ca5b39ecd489241201ecd20.tar.gz
troggle-d2192ffd21c16ebd1ca5b39ecd489241201ecd20.tar.bz2
troggle-d2192ffd21c16ebd1ca5b39ecd489241201ecd20.zip
delete duplication
Diffstat (limited to 'core/management')
-rw-r--r--core/management/commands/reset_db.py174
1 files changed, 10 insertions, 164 deletions
diff --git a/core/management/commands/reset_db.py b/core/management/commands/reset_db.py
index c55a0b1..2aea94a 100644
--- a/core/management/commands/reset_db.py
+++ b/core/management/commands/reset_db.py
@@ -1,187 +1,33 @@
-from django.core.management.base import BaseCommand, CommandError
-from optparse import make_option
-from troggle.core.models import Cave
-import settings
import os
+from optparse import make_option
from django.db import connection
from django.core import management
-from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
+from django.core.management.base import BaseCommand, CommandError
+from django.contrib.auth.models import User
+
from troggle.core.models import Cave, Entrance
import troggle.flatpages.models
+import settings
+
"""Pretty much all of this is now replaced by databaseRest.py
-I don't know why this still exists
+I don't know why this still exists. Needs testing to see if
+removing it makes django misbehave.
"""
-databasename=settings.DATABASES['default']['NAME']
-expouser=settings.EXPOUSER
-expouserpass=settings.EXPOUSERPASS
-expouseremail=settings.EXPOUSER_EMAIL
class Command(BaseCommand):
- help = 'This is normal usage, clear database and reread everything'
+ help = 'Removed as redundant - use databaseReset.py'
option_list = BaseCommand.option_list + (
make_option('--reset',
action='store_true',
dest='reset',
default=False,
- help='Reset the entier DB from files'),
+ help='Removed as redundant'),
)
def handle(self, *args, **options):
print(args)
print(options)
- if "desc" in args:
- self.resetdesc()
- elif "scans" in args:
- self.import_surveyscans()
- elif "caves" in args:
- self.reload_db()
- self.make_dirs()
- self.pageredirects()
- self.import_caves()
- elif "people" in args:
- self.import_people()
- elif "QMs" in args:
- self.import_QMs()
- elif "tunnel" in args:
- self.import_tunnelfiles()
- elif options['reset']:
- self.reset(self)
- elif "survex" in args:
- self.import_survex()
- elif "survexpos" in args:
- import parsers.survex
- parsers.survex.LoadPos()
- elif "logbooks" in args:
- self.import_logbooks()
- elif "autologbooks" in args:
- self.import_auto_logbooks()
- elif "dumplogbooks" in args:
- self.dumplogbooks()
- elif "writeCaves" in args:
- self.writeCaves()
- elif options['foo']:
- self.stdout.write(self.style.WARNING('Tesing....'))
- else:
- #self.stdout.write("%s not recognised" % args)
- #self.usage(options)
- self.stdout.write("poo")
- #print(args)
-
- def reload_db(obj):
- 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('migrate', interactive=False)
- # management.call_command('syncdb', interactive=False)
- user = User.objects.create_user(expouser, expouseremail, expouserpass)
- user.is_staff = True
- user.is_superuser = True
- user.save()
-
- def make_dirs(obj):
- """Make directories that troggle requires"""
- pass
- # should also deal with permissions here.
- #if not os.path.isdir(settings.PHOTOS_ROOT):
- #os.mkdir(settings.PHOTOS_ROOT)
-
- def import_caves(obj):
- import parsers.caves
- print("Importing Caves")
- parsers.caves.readcaves()
-
- def import_people(obj):
- import parsers.people
- parsers.people.LoadPersonsExpos()
-
- def import_logbooks(obj):
- # The below line was causing errors I didn't understand (it said LOGFILE was a string), and I couldn't be bothered to figure
- # what was going on so I just catch the error with a try. - AC 21 May
- try:
- settings.LOGFILE.write('\nBegun importing logbooks at ' + time.asctime() + '\n' + '-' * 60)
- except:
- pass
-
- import parsers.logbooks
- parsers.logbooks.LoadLogbooks()
-
- def import_survex(obj):
- import parsers.survex
- parsers.survex.LoadAllSurvexBlocks()
- parsers.survex.LoadPos()
-
- def import_QMs(obj):
- import parsers.QMs
-
- def import_surveys(obj):
- import parsers.surveys
- parsers.surveys.parseSurveys(logfile=settings.LOGFILE)
-
- def import_surveyscans(obj):
- import parsers.surveys
- parsers.surveys.LoadListScans()
-
- def import_tunnelfiles(obj):
- import parsers.surveys
- parsers.surveys.LoadTunnelFiles()
-
- def reset(self, mgmt_obj):
- """ Wipe the troggle database and import everything from legacy data
- """
- self.reload_db()
- self.make_dirs()
- self.pageredirects()
- self.import_caves()
- self.import_people()
- self.import_surveyscans()
- self.import_survex()
- self.import_logbooks()
- self.import_QMs()
- try:
- self.import_tunnelfiles()
- except:
- print("Tunnel files parser broken.")
-
- self.import_surveys()
-
- def pageredirects(obj):
- for oldURL, newURL in [("indxal.htm", reverse("caveindex"))]:
- f = troggle.flatpages.models.Redirect(originalURL=oldURL, newURL=newURL)
- f.save()
-
- def writeCaves(obj):
- for cave in Cave.objects.all():
- cave.writeDataFile()
- for entrance in Entrance.objects.all():
- entrance.writeDataFile()
-
- def troggle_usage(obj):
- print("""Usage is 'manage.py reset_db <command>'
- where command is:
- reset - this is normal usage, clear database and reread everything
- desc
- caves - read in the caves
- logbooks - read in the logbooks
- autologbooks
- dumplogbooks
- people
- QMs - read in the QM files
- resetend
- scans - read in the scanned surveynotes
- survex - read in the survex files
- survexpos
- tunnel - read in the Tunnel files
- writeCaves
- """)