import sys import os import django from django.core import management from django.db import connection, close_old_connections, connections from django.contrib.auth.models import User from django.http import HttpResponse from django.db import transaction import troggle.settings import troggle.parsers.caves import troggle.parsers.people import troggle.parsers.drawings import troggle.parsers.logbooks import troggle.parsers.QMs import troggle.parsers.scans '''Master data import. Used only by databaseReset.py and online controlpanel. ''' def import_caves(): print("-- Importing Caves to ",end="") print(django.db.connections.databases['default']['NAME']) troggle.parsers.caves.readcaves() def import_people(): print("-- Importing People (folk.csv) to ",end="") print(django.db.connections.databases['default']['NAME']) with transaction.atomic(): troggle.parsers.people.load_people_expos() def import_surveyscans(): print("-- Importing Survey Scans") with transaction.atomic(): troggle.parsers.scans.load_all_scans() def import_logbooks(): print("-- Importing Logbooks") with transaction.atomic(): troggle.parsers.logbooks.LoadLogbooks() def import_logbook(year=1988): print(f"-- Importing Logbook {year}") with transaction.atomic(): troggle.parsers.logbooks.LoadLogbook(year) def import_QMs(): print("-- Importing old QMs for 161, 204, 234 from CSV files") with transaction.atomic(): troggle.parsers.QMs.Load_QMs() def import_survex(): # when this import is moved to the top with the rest it all crashes horribly print("-- Importing Survex and Entrance Positions") with transaction.atomic(): import troggle.parsers.survex print(" - Survex Blocks") with transaction.atomic(): troggle.parsers.survex.LoadSurvexBlocks() print(" - Survex entrances x/y/z Positions") with transaction.atomic(): troggle.parsers.survex.LoadPositions() def import_loadpos(): # when this import is moved to the top with the rest it all crashes horribly import troggle.parsers.survex print(" - Survex entrances x/y/z Positions") with transaction.atomic(): troggle.parsers.survex.LoadPositions() def import_drawingsfiles(): print("-- Importing Drawings files") with transaction.atomic(): troggle.parsers.drawings.load_drawings_files()