diff options
author | Philip Sargent <philip@Muscogee.localdomain> | 2020-05-13 23:11:47 +0100 |
---|---|---|
committer | Philip Sargent <philip@Muscogee.localdomain> | 2020-05-13 23:11:47 +0100 |
commit | 314d0e8b710703706d41fbc4d2567445214509f1 (patch) | |
tree | 2b060bfd3f256f90d2e9dc0b2dd3a03fe2b9c24e /logbooksdump.py | |
parent | 0338889905cbb96b16f1db2404d6d89ea8af9226 (diff) | |
download | troggle-314d0e8b710703706d41fbc4d2567445214509f1.tar.gz troggle-314d0e8b710703706d41fbc4d2567445214509f1.tar.bz2 troggle-314d0e8b710703706d41fbc4d2567445214509f1.zip |
skip fast pass option added as default
Diffstat (limited to 'logbooksdump.py')
-rw-r--r-- | logbooksdump.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/logbooksdump.py b/logbooksdump.py new file mode 100644 index 0000000..4fa4d16 --- /dev/null +++ b/logbooksdump.py @@ -0,0 +1,68 @@ +import os +import time +import timeit +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, close_old_connections +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 +import troggle.flatpages.models + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +def import_auto_logbooks(): + import parsers.logbooks + import os + for pt in troggle.core.models.PersonTrip.objects.all(): + pt.delete() + for lbe in troggle.core.models.LogbookEntry.objects.all(): + lbe.delete() + for expedition in troggle.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 definitive 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 troggle.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() +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |