diff options
author | Wookey <wookey@wookware.org> | 2011-07-11 02:10:22 +0100 |
---|---|---|
committer | Wookey <wookey@wookware.org> | 2011-07-11 02:10:22 +0100 |
commit | 78cedb2070c7e9d4e4eb418ecde7b60ba428273f (patch) | |
tree | ee8029e7df8aa2eca5ed9354b2c6e592fc11c96a /databaseReset.py | |
parent | cc27334193c9ddbef15855863934dab3f73ccdd4 (diff) | |
download | troggle-78cedb2070c7e9d4e4eb418ecde7b60ba428273f.tar.gz troggle-78cedb2070c7e9d4e4eb418ecde7b60ba428273f.tar.bz2 troggle-78cedb2070c7e9d4e4eb418ecde7b60ba428273f.zip |
remove all the DOS linefeeds
Diffstat (limited to 'databaseReset.py')
-rw-r--r-- | databaseReset.py | 434 |
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'" + + + + |