summaryrefslogtreecommitdiffstats
path: root/databaseReset.py
diff options
context:
space:
mode:
authorWookey <wookey@wookware.org>2011-07-11 02:10:22 +0100
committerWookey <wookey@wookware.org>2011-07-11 02:10:22 +0100
commit78cedb2070c7e9d4e4eb418ecde7b60ba428273f (patch)
treeee8029e7df8aa2eca5ed9354b2c6e592fc11c96a /databaseReset.py
parentcc27334193c9ddbef15855863934dab3f73ccdd4 (diff)
downloadtroggle-78cedb2070c7e9d4e4eb418ecde7b60ba428273f.tar.gz
troggle-78cedb2070c7e9d4e4eb418ecde7b60ba428273f.tar.bz2
troggle-78cedb2070c7e9d4e4eb418ecde7b60ba428273f.zip
remove all the DOS linefeeds
Diffstat (limited to 'databaseReset.py')
-rw-r--r--databaseReset.py434
1 files changed, 217 insertions, 217 deletions
diff --git a/databaseReset.py b/databaseReset.py
index 52a646c..4a7aeb4 100644
--- a/databaseReset.py
+++ b/databaseReset.py
@@ -1,217 +1,217 @@
-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
-from django.contrib.auth.models import User
-from django.http import HttpResponse
-from django.core.urlresolvers import reverse
-import flatpages.models
-
-
-
-def reload_db():
- if settings.DATABASE_ENGINE == 'sqlite3':
- try:
- os.remove(settings.DATABASE_NAME)
- except OSError:
- pass
- else:
- 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', interactive=False)
- user = User.objects.create_user('expo', 'goatchurch@gmail.com', 'gosser')
- user.is_staff = True
- user.is_superuser = True
- user.save()
-
-def make_dirs():
- """Make directories that troggle requires"""
- #should also deal with permissions here.
- if not os.path.isdir(settings.PHOTOS_ROOT):
- os.mkdir(settings.PHOTOS_ROOT)
-
-
-
-def import_cavetab():
- import parsers.cavetab
- print "importing cavetab"
- parsers.cavetab.LoadCaveTab()
-
-def import_people():
- import parsers.people
- parsers.people.LoadPersonsExpos()
-
-def import_logbooks():
- # 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():
- import parsers.survex
- parsers.survex.LoadAllSurvexBlocks()
- parsers.survex.LoadPos()
-
-def import_QMs():
- import parsers.QMs
-
-def import_surveys():
- import parsers.surveys
- parsers.surveys.parseSurveys(logfile=settings.LOGFILE)
-
-def import_surveyscans():
- import parsers.surveys
- parsers.surveys.LoadListScans()
-
-
-def import_descriptions():
- import parsers.descriptions
- parsers.descriptions.getDescriptions()
-
-def parse_descriptions():
- import parsers.descriptions
- parsers.descriptions.parseDescriptions()
- parsers.descriptions.parseDescriptionsOnCaveObjects()
-
-def import_tunnelfiles():
- import parsers.surveys
- parsers.surveys.LoadTunnelFiles()
-
-
-def reset():
- """ Wipe the troggle database and import everything from legacy data
- """
- reload_db()
- make_dirs()
- pageredirects()
- import_cavetab()
- import_people()
- import_surveyscans()
- import_survex()
- import_logbooks()
- import_QMs()
- import_tunnelfiles()
-
- import_surveys()
- import_descriptions()
- parse_descriptions()
-
-def resetdesc():
- """ Wipe the troggle database and import descriptions
- """
- import core.models
- for desc in core.models.CaveDescription.objects.all():
- desc.delete()
- import_descriptions()
- parse_descriptions()
-
-def export_cavetab():
- from export import tocavetab
- outfile=file(os.path.join(settings.EXPOWEB, "noinfo", "CAVETAB2.CSV"),'w')
- tocavetab.writeCaveTab(outfile)
- outfile.close()
-
-def import_auto_logbooks():
- import parsers.logbooks
- import os
- for pt in core.models.PersonTrip.objects.all():
- pt.delete()
- for lbe in core.models.LogbookEntry.objects.all():
- lbe.delete()
- for expedition in core.models.Expedition.objects.all():
- directory = os.path.join(settings.EXPOWEB,
- "years",
- expedition.year,
- "autologbook")
- for root, dirs, filenames in os.walk(directory):
- for filename in filenames:
- print os.path.join(root, filename)
- parsers.logbooks.parseAutoLogBookEntry(os.path.join(root, filename))
-
-#Temporary function until definative source of data transfered.
-from django.template.defaultfilters import slugify
-from django.template import Context, loader
-def dumplogbooks():
- def get_name(pe):
- if pe.nickname:
- return pe.nickname
- else:
- return pe.person.first_name
- for lbe in core.models.LogbookEntry.objects.all():
- dateStr = lbe.date.strftime("%Y-%m-%d")
- directory = os.path.join(settings.EXPOWEB,
- "years",
- lbe.expedition.year,
- "autologbook")
- if not os.path.isdir(directory):
- os.mkdir(directory)
- filename = os.path.join(directory,
- dateStr + "." + slugify(lbe.title)[:50] + ".html")
- if lbe.cave:
- print lbe.cave.reference()
- trip = {"title": lbe.title, "html":lbe.text, "cave": lbe.cave.reference(), "caveOrLocation": "cave"}
- else:
- trip = {"title": lbe.title, "html":lbe.text, "location":lbe.place, "caveOrLocation": "location"}
- pts = [pt for pt in lbe.persontrip_set.all() if pt.personexpedition]
- persons = [{"name": get_name(pt.personexpedition), "TU": pt.time_underground, "author": pt.is_logbook_entry_author} for pt in pts]
- f = open(filename, "wb")
- template = loader.get_template('dataformat/logbookentry.html')
- context = Context({'trip': trip,
- 'persons': persons,
- 'date': dateStr,
- 'expeditionyear': lbe.expedition.year})
- output = template.render(context)
- f.write(unicode(output).encode( "utf-8" ))
- f.close()
-
-def pageredirects():
- for oldURL, newURL in [("indxal.htm", reverse("caveindex"))]:
- f = flatpages.models.Redirect(originalURL = oldURL, newURL = newURL)
- f.save()
-
-if __name__ == "__main__":
- import core.models
- import sys
- if "desc" in sys.argv:
- resetdesc()
- elif "scans" in sys.argv:
- import_surveyscans()
- elif "caves" in sys.argv:
- reload_db()
- make_dirs()
- pageredirects()
- import_cavetab()
- elif "QMs" in sys.argv:
- import_QMs()
- elif "tunnel" in sys.argv:
- import_tunnelfiles()
- elif "reset" in sys.argv:
- reset()
- elif "survex" in sys.argv:
- management.call_command('syncdb', interactive=False) # this sets the path so that import settings works in import_survex
- import_survex()
-
- elif "logbooks" in sys.argv:
- management.call_command('syncdb', interactive=False) # this sets the path so that import settings works in import_survex
- import_logbooks()
- elif "autologbooks" in sys.argv:
- import_auto_logbooks()
- elif "dumplogbooks" in sys.argv:
- dumplogbooks()
- else:
- print "Do 'python databaseReset.py reset'"
-
-
-
-
+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
+from django.contrib.auth.models import User
+from django.http import HttpResponse
+from django.core.urlresolvers import reverse
+import flatpages.models
+
+
+
+def reload_db():
+ if settings.DATABASE_ENGINE == 'sqlite3':
+ try:
+ os.remove(settings.DATABASE_NAME)
+ except OSError:
+ pass
+ else:
+ 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', interactive=False)
+ user = User.objects.create_user('expo', 'goatchurch@gmail.com', 'gosser')
+ user.is_staff = True
+ user.is_superuser = True
+ user.save()
+
+def make_dirs():
+ """Make directories that troggle requires"""
+ #should also deal with permissions here.
+ if not os.path.isdir(settings.PHOTOS_ROOT):
+ os.mkdir(settings.PHOTOS_ROOT)
+
+
+
+def import_cavetab():
+ import parsers.cavetab
+ print "importing cavetab"
+ parsers.cavetab.LoadCaveTab()
+
+def import_people():
+ import parsers.people
+ parsers.people.LoadPersonsExpos()
+
+def import_logbooks():
+ # 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():
+ import parsers.survex
+ parsers.survex.LoadAllSurvexBlocks()
+ parsers.survex.LoadPos()
+
+def import_QMs():
+ import parsers.QMs
+
+def import_surveys():
+ import parsers.surveys
+ parsers.surveys.parseSurveys(logfile=settings.LOGFILE)
+
+def import_surveyscans():
+ import parsers.surveys
+ parsers.surveys.LoadListScans()
+
+
+def import_descriptions():
+ import parsers.descriptions
+ parsers.descriptions.getDescriptions()
+
+def parse_descriptions():
+ import parsers.descriptions
+ parsers.descriptions.parseDescriptions()
+ parsers.descriptions.parseDescriptionsOnCaveObjects()
+
+def import_tunnelfiles():
+ import parsers.surveys
+ parsers.surveys.LoadTunnelFiles()
+
+
+def reset():
+ """ Wipe the troggle database and import everything from legacy data
+ """
+ reload_db()
+ make_dirs()
+ pageredirects()
+ import_cavetab()
+ import_people()
+ import_surveyscans()
+ import_survex()
+ import_logbooks()
+ import_QMs()
+ import_tunnelfiles()
+
+ import_surveys()
+ import_descriptions()
+ parse_descriptions()
+
+def resetdesc():
+ """ Wipe the troggle database and import descriptions
+ """
+ import core.models
+ for desc in core.models.CaveDescription.objects.all():
+ desc.delete()
+ import_descriptions()
+ parse_descriptions()
+
+def export_cavetab():
+ from export import tocavetab
+ outfile=file(os.path.join(settings.EXPOWEB, "noinfo", "CAVETAB2.CSV"),'w')
+ tocavetab.writeCaveTab(outfile)
+ outfile.close()
+
+def import_auto_logbooks():
+ import parsers.logbooks
+ import os
+ for pt in core.models.PersonTrip.objects.all():
+ pt.delete()
+ for lbe in core.models.LogbookEntry.objects.all():
+ lbe.delete()
+ for expedition in core.models.Expedition.objects.all():
+ directory = os.path.join(settings.EXPOWEB,
+ "years",
+ expedition.year,
+ "autologbook")
+ for root, dirs, filenames in os.walk(directory):
+ for filename in filenames:
+ print os.path.join(root, filename)
+ parsers.logbooks.parseAutoLogBookEntry(os.path.join(root, filename))
+
+#Temporary function until definative source of data transfered.
+from django.template.defaultfilters import slugify
+from django.template import Context, loader
+def dumplogbooks():
+ def get_name(pe):
+ if pe.nickname:
+ return pe.nickname
+ else:
+ return pe.person.first_name
+ for lbe in core.models.LogbookEntry.objects.all():
+ dateStr = lbe.date.strftime("%Y-%m-%d")
+ directory = os.path.join(settings.EXPOWEB,
+ "years",
+ lbe.expedition.year,
+ "autologbook")
+ if not os.path.isdir(directory):
+ os.mkdir(directory)
+ filename = os.path.join(directory,
+ dateStr + "." + slugify(lbe.title)[:50] + ".html")
+ if lbe.cave:
+ print lbe.cave.reference()
+ trip = {"title": lbe.title, "html":lbe.text, "cave": lbe.cave.reference(), "caveOrLocation": "cave"}
+ else:
+ trip = {"title": lbe.title, "html":lbe.text, "location":lbe.place, "caveOrLocation": "location"}
+ pts = [pt for pt in lbe.persontrip_set.all() if pt.personexpedition]
+ persons = [{"name": get_name(pt.personexpedition), "TU": pt.time_underground, "author": pt.is_logbook_entry_author} for pt in pts]
+ f = open(filename, "wb")
+ template = loader.get_template('dataformat/logbookentry.html')
+ context = Context({'trip': trip,
+ 'persons': persons,
+ 'date': dateStr,
+ 'expeditionyear': lbe.expedition.year})
+ output = template.render(context)
+ f.write(unicode(output).encode( "utf-8" ))
+ f.close()
+
+def pageredirects():
+ for oldURL, newURL in [("indxal.htm", reverse("caveindex"))]:
+ f = flatpages.models.Redirect(originalURL = oldURL, newURL = newURL)
+ f.save()
+
+if __name__ == "__main__":
+ import core.models
+ import sys
+ if "desc" in sys.argv:
+ resetdesc()
+ elif "scans" in sys.argv:
+ import_surveyscans()
+ elif "caves" in sys.argv:
+ reload_db()
+ make_dirs()
+ pageredirects()
+ import_cavetab()
+ elif "QMs" in sys.argv:
+ import_QMs()
+ elif "tunnel" in sys.argv:
+ import_tunnelfiles()
+ elif "reset" in sys.argv:
+ reset()
+ elif "survex" in sys.argv:
+ management.call_command('syncdb', interactive=False) # this sets the path so that import settings works in import_survex
+ import_survex()
+
+ elif "logbooks" in sys.argv:
+ management.call_command('syncdb', interactive=False) # this sets the path so that import settings works in import_survex
+ import_logbooks()
+ elif "autologbooks" in sys.argv:
+ import_auto_logbooks()
+ elif "dumplogbooks" in sys.argv:
+ dumplogbooks()
+ else:
+ print "Do 'python databaseReset.py reset'"
+
+
+
+