mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-03-25 11:41:50 +00:00
[svn] Added new photo model.
Logbook parser now looks for mugshots when adding people. If it finds an image, it adds a new photo model instance linked to that person. If it finds an html page, it adds the body text of that page as the person's "blurb" and then adds the mugshot. My interface web design isn't working, sorry. Need a blank slate on that one. Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8150 by aaron @ 1/4/2009 2:06 PM
This commit is contained in:
parent
f525235e94
commit
b7bf1b37ac
@ -17,7 +17,7 @@ user.is_staff = True
|
||||
user.is_superuser = True
|
||||
user.save()
|
||||
|
||||
import parsers.logbooks
|
||||
import parsers.cavetab
|
||||
import parsers.logbooks
|
||||
import parsers.QMs
|
||||
import parsers.survex
|
||||
|
@ -9,7 +9,17 @@ body, td, center, ul, p, input {
|
||||
body {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
#expoHeader {
|
||||
position: relative;
|
||||
display: inline;
|
||||
top:60px;
|
||||
}
|
||||
#expoFinalDate {
|
||||
display: inline;
|
||||
}
|
||||
h1 {
|
||||
display: inline;
|
||||
}
|
||||
a:link, a:visited { text-decoration: none; }
|
||||
div.centre img { vertical-align: middle; }
|
||||
|
||||
|
@ -1,11 +1,16 @@
|
||||
#.-*- coding: utf-8 -*-
|
||||
|
||||
import settings
|
||||
import expo.models as models
|
||||
import sys
|
||||
import os
|
||||
sys.path.append('C:\\Expo\\expoweb')
|
||||
from troggle import *
|
||||
os.environ['DJANGO_SETTINGS_MODULE']='troggle.settings'
|
||||
import troggle.settings as settings
|
||||
import troggle.expo.models as models
|
||||
import csv
|
||||
import re
|
||||
import os
|
||||
import datetime
|
||||
from django.db.models import Q
|
||||
|
||||
|
||||
persontab = open(os.path.join(settings.EXPOWEB, "noinfo", "folk.csv"))
|
||||
personreader = csv.reader(persontab)
|
||||
@ -39,7 +44,7 @@ def LoadPersons():
|
||||
|
||||
firstname, lastname = mname.group(1), mname.group(2) or ""
|
||||
|
||||
#print firstname, lastname, "NNN", nickname
|
||||
print firstname, lastname, "NNN", nickname
|
||||
#assert lastname == person[header[""]], person
|
||||
|
||||
pObject = models.Person(first_name = firstname,
|
||||
@ -49,7 +54,48 @@ def LoadPersons():
|
||||
|
||||
is_guest = person[header["Guest"]] == "1" # this is really a per-expo catagory; not a permanent state
|
||||
pObject.save()
|
||||
parseMugShotAndBlurb(firstname, lastname, person, header, pObject)
|
||||
|
||||
for year, attended in zip(headers, person)[5:]:
|
||||
yo = models.Expedition.objects.filter(year = year)[0]
|
||||
if attended == "1" or attended == "-1":
|
||||
pyo = models.PersonExpedition(person = pObject, expedition = yo, nickname=nickname, is_guest=is_guest)
|
||||
pyo.save()
|
||||
|
||||
# error
|
||||
elif (firstname, lastname) == ("Mike", "Richardson") and year == "2001":
|
||||
print "Mike Richardson(2001) error"
|
||||
pyo = models.PersonExpedition(person = pObject, expedition = yo, nickname=nickname, is_guest=is_guest)
|
||||
pyo.save()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# this fills in those peopl for whom 2008 was their first expo
|
||||
for name in expomissing:
|
||||
firstname, lastname = name.split()
|
||||
is_guest = name in ["Eeva Makiranta", "Keith Curtis"]
|
||||
print "2008:", name
|
||||
pObject = models.Person(first_name = firstname,
|
||||
last_name = lastname,
|
||||
is_vfho = False,
|
||||
mug_shot = "")
|
||||
pObject.save()
|
||||
yo = models.Expedition.objects.filter(year = "2008")[0]
|
||||
pyo = models.PersonExpedition(person = pObject, expedition = yo, nickname="", is_guest=is_guest)
|
||||
pyo.save()
|
||||
|
||||
# Julian: the below code was causing errors and it seems like a duplication of the above. Hope I haven't broken anything by commenting it. -Aaron
|
||||
#
|
||||
# if name in expoers2008:
|
||||
# print "2008:", name
|
||||
# expomissing.discard(name) # I got an error which I think was caused by this -- python complained that a set changed size during iteration.
|
||||
# yo = models.Expedition.objects.filter(year = "2008")[0]
|
||||
# pyo = models.PersonExpedition(person = pObject, expedition = yo, is_guest=is_guest)
|
||||
# pyo.save()
|
||||
|
||||
def parseMugShotAndBlurb(firstname, lastname, person, header, pObject):
|
||||
#create mugshot Photo instance
|
||||
mugShotPath = settings.EXPOWEB+"folk/"+person[header["Mugshot"]]
|
||||
if mugShotPath[-3:]=='jpg': #if person just has an image, add it
|
||||
@ -76,41 +122,6 @@ def LoadPersons():
|
||||
mugShotObj.save()
|
||||
pObject.save()
|
||||
|
||||
for year, attended in zip(headers, person)[5:]:
|
||||
yo = models.Expedition.objects.filter(year = year)[0]
|
||||
if attended == "1" or attended == "-1":
|
||||
pyo = models.PersonExpedition(person = pObject, expedition = yo, nickname=nickname, is_guest=is_guest)
|
||||
pyo.save()
|
||||
|
||||
# error
|
||||
elif (firstname, lastname) == ("Mike", "Richardson") and year == "2001":
|
||||
print "Mike Richardson(2001) error"
|
||||
pyo = models.PersonExpedition(person = pObject, expedition = yo, nickname=nickname, is_guest=is_guest)
|
||||
pyo.save()
|
||||
|
||||
|
||||
if name in expoers2008:
|
||||
print "2008:", name
|
||||
expomissing.discard(name)
|
||||
yo = models.Expedition.objects.filter(year = "2008")[0]
|
||||
pyo = models.PersonExpedition(person = pObject, expedition = yo, is_guest=is_guest)
|
||||
pyo.save()
|
||||
|
||||
|
||||
# this fills in those peopl for whom 2008 was their first expo
|
||||
for name in expomissing:
|
||||
firstname, lastname = name.split()
|
||||
is_guest = name in ["Eeva Makiranta", "Keith Curtis"]
|
||||
pObject = models.Person(first_name = firstname,
|
||||
last_name = lastname,
|
||||
is_vfho = False,
|
||||
mug_shot = "")
|
||||
pObject.save()
|
||||
yo = models.Expedition.objects.filter(year = "2008")[0]
|
||||
pyo = models.PersonExpedition(person = pObject, expedition = yo, nickname="", is_guest=is_guest)
|
||||
pyo.save()
|
||||
|
||||
|
||||
#
|
||||
# the logbook loading section
|
||||
#
|
||||
@ -134,9 +145,40 @@ def GetTripPersons(trippeople, expedition):
|
||||
author = res[-1]
|
||||
return res, author
|
||||
|
||||
def GetTripCave(place): #need to be fuzzier about matching here. Already a very slow function...
|
||||
# print "Getting cave for " , place
|
||||
try:
|
||||
katastNumRes=[]
|
||||
katastNumRes=list(models.Cave.objects.filter(kataster_number=int(place)))
|
||||
except ValueError:
|
||||
pass
|
||||
officialNameRes=list(models.Cave.objects.filter(official_name=place))
|
||||
tripCaveRes=officialNameRes+katastNumRes
|
||||
|
||||
if len(tripCaveRes)==1:
|
||||
# print "Place " , place , "entered as" , tripCaveRes[0]
|
||||
return tripCaveRes[0]
|
||||
|
||||
elif models.OtherCaveName.objects.filter(name=place):
|
||||
tripCaveRes=models.OtherCaveName.objects.filter(name__icontains=place)[0].cave
|
||||
# print "Place " , place , "entered as" , tripCaveRes
|
||||
return tripCaveRes
|
||||
|
||||
elif len(tripCaveRes)>1:
|
||||
print "Ambiguous place " + str(place) + " entered. Choose from " + str(tripCaveRes)
|
||||
correctIndex=input("type list index of correct cave")
|
||||
return tripCaveRes[correctIndex]
|
||||
else:
|
||||
print "No cave found for place " , place
|
||||
return
|
||||
|
||||
def EnterLogIntoDbase(date, place, title, text, trippeople, expedition, tu):
|
||||
trippersons, author = GetTripPersons(trippeople, expedition)
|
||||
tripCave = GetTripCave(place)
|
||||
|
||||
lbo = models.LogbookEntry(date=date, place=place, title=title[:50], text=text, author=author)
|
||||
if tripCave:
|
||||
lbo.cave=tripCave
|
||||
lbo.save()
|
||||
print "ttt", date, place
|
||||
for tripperson in trippersons:
|
||||
@ -281,8 +323,8 @@ def LoadLogbooks():
|
||||
models.LogbookEntry.objects.all().delete()
|
||||
expowebbase = os.path.join(settings.EXPOWEB, "years")
|
||||
yearlinks = [
|
||||
("2008", "2008/logbook/2008logbook.txt", Parselogwikitxt),
|
||||
("2007", "2007/logbook/2007logbook.txt", Parselogwikitxt),
|
||||
("2008", "2008/2008logbook.txt", Parselogwikitxt),
|
||||
("2007", "2007/2007logbook.txt", Parselogwikitxt),
|
||||
("2006", "2006/logbook/logbook_06.txt", Parselogwikitxt),
|
||||
("2005", "2005/logbook.html", Parseloghtmltxt),
|
||||
("2004", "2004/logbook.html", Parseloghtmltxt),
|
||||
|
Loading…
x
Reference in New Issue
Block a user