There is no point having two functions do basicaly the same thing so make the

load all logbooks call load logbook(expo)
Remove the return message from load logbook as it isn't used
This commit is contained in:
Sam Wenham 2019-03-09 11:18:44 +00:00
parent 9fc80bed35
commit 1bac650aee
3 changed files with 5 additions and 42 deletions

View File

@ -77,8 +77,8 @@ def expedition(request, expeditionname):
message = "" message = ""
if "reload" in request.GET: if "reload" in request.GET:
message = LoadLogbookForExpedition(this_expedition) LoadLogbookForExpedition(this_expedition)
return render_with_context(request,'expedition.html', {'expedition': this_expedition, 'expeditions':expeditions, 'personexpeditiondays':personexpeditiondays, 'message':message, 'settings':settings, 'dateditems': dateditems }) return render_with_context(request,'expedition.html', {'expedition': this_expedition, 'expeditions':expeditions, 'personexpeditiondays':personexpeditiondays, 'settings':settings, 'dateditems': dateditems })
def get_absolute_url(self): def get_absolute_url(self):
return ('expedition', (expedition.year)) return ('expedition', (expedition.year))

View File

@ -282,7 +282,7 @@ def LoadLogbookForExpedition(expedition):
""" Parses all logbook entries for one expedition """ """ Parses all logbook entries for one expedition """
expowebbase = os.path.join(settings.EXPOWEB, "years") expowebbase = os.path.join(settings.EXPOWEB, "years")
year = str(expedition.year) #year = str(expedition.year)
yearlinks = settings.LOGBOOK_PARSER_SETTINGS yearlinks = settings.LOGBOOK_PARSER_SETTINGS
logbook_parseable = False logbook_parseable = False
@ -311,50 +311,17 @@ def LoadLogbookForExpedition(expedition):
parser(expedition.year, expedition, txt) parser(expedition.year, expedition, txt)
SetDatesFromLogbookEntries(expedition) SetDatesFromLogbookEntries(expedition)
return "TOLOAD: " + year + " " + str(expedition.personexpedition_set.all()[1].logbookentry_set.count()) + " " + str(models.PersonTrip.objects.filter(personexpedition__expedition=expedition).count()) #return "TOLOAD: " + year + " " + str(expedition.personexpedition_set.all()[1].logbookentry_set.count()) + " " + str(models.PersonTrip.objects.filter(personexpedition__expedition=expedition).count())
def LoadLogbooks(): def LoadLogbooks():
""" This is the master function for parsing all logbooks into the Troggle database. Requires yearlinks, which is a list of tuples for each expedition with expedition year, logbook path, and parsing function. """ """ This is the master function for parsing all logbooks into the Troggle database. Requires yearlinks, which is a list of tuples for each expedition with expedition year, logbook path, and parsing function. """
#Deletion has been moved to a seperate function to enable the non-destructive importing
#models.LogbookEntry.objects.all().delete()
expowebbase = os.path.join(settings.EXPOWEB, "years")
#yearlinks = [ ("2001", "2001/log.htm", Parseloghtml01), ] #overwrite
#yearlinks = [ ("1996", "1996/log.htm", Parseloghtml01),] # overwrite
yearlinks = settings.LOGBOOK_PARSER_SETTINGS
expos = models.Expedition.objects.all() expos = models.Expedition.objects.all()
for expo in expos: for expo in expos:
print("\nLoading Logbook for: " + expo.year) print("\nLoading Logbook for: " + expo.year)
logbook_parseable = False LoadLogbookForExpedition(expo)
if expo.year in yearlinks:
#print(yearlinks[expo.year])
year_settings = yearlinks[expo.year]
file_in = open(os.path.join(expowebbase, year_settings[0]))
txt = file_in.read().decode("latin1")
file_in.close()
parsefunc = year_settings[1]
logbook_parseable = True
else:
try:
file_in = open(os.path.join(expowebbase, expo.year, settings.DEFAULT_LOGBOOK_FILE))
txt = file_in.read().decode("latin1")
file_in.close()
logbook_parseable = True
print("No set parser found using default")
parsefunc = settings.DEFAULT_LOGBOOK_PARSER
except (IOError):
logbook_parseable = False
print("Couldn't open default logbook file and nothing in settings for expo " + expo.year)
if logbook_parseable:
parser = globals()[parsefunc]
parser(expo.year, expo, txt)
SetDatesFromLogbookEntries(expo)
dateRegex = re.compile(r'<span\s+class="date">(\d\d\d\d)-(\d\d)-(\d\d)</span>', re.S) dateRegex = re.compile(r'<span\s+class="date">(\d\d\d\d)-(\d\d)-(\d\d)</span>', re.S)

View File

@ -10,10 +10,6 @@
{% block content %} {% block content %}
{% if message %}
<p>debug message: {{message}}</p>
{% endif %}
<h2>{{expedition.name}}</h2> <h2>{{expedition.name}}</h2>
<p><b>Other years:</b> <p><b>Other years:</b>