summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--databaseReset.py4
-rw-r--r--expo/models.py2
-rw-r--r--parsers/surveys.py24
-rw-r--r--settings.py2
-rw-r--r--urls.py4
5 files changed, 26 insertions, 10 deletions
diff --git a/databaseReset.py b/databaseReset.py
index 434eb5f..4b3c91c 100644
--- a/databaseReset.py
+++ b/databaseReset.py
@@ -17,6 +17,10 @@ user.is_staff = True
user.is_superuser = True
user.save()
+#Make directories that troggle requires
+if not os.path.isdir(settings.PHOTOS_ROOT):
+ os.mkdir(settings.PHOTOS_ROOT)
+
import parsers.cavetab
parsers.cavetab.LoadCaveTab()
import parsers.people
diff --git a/expo/models.py b/expo/models.py
index 35d7431..59d0e11 100644
--- a/expo/models.py
+++ b/expo/models.py
@@ -461,7 +461,7 @@ class QM(TroggleModel):
QMnumber=str(self.found_by.cave)+'-'+str(self.found_by.date.year)+"-"+str(self.number)+self.grade
return str(QMnumber)
-photoFileStorage = FileSystemStorage(location=settings.EXPOWEB+'photos', base_url=settings.PHOTOS_URL)
+photoFileStorage = FileSystemStorage(location=settings.PHOTOS_ROOT, base_url=settings.PHOTOS_URL)
class Photo(TroggleModel):
caption = models.CharField(max_length=1000,blank=True,null=True)
contains_person_trip = models.ManyToManyField(PersonTrip,blank=True,null=True)
diff --git a/parsers/surveys.py b/parsers/surveys.py
index 53632e8..ca2f153 100644
--- a/parsers/surveys.py
+++ b/parsers/surveys.py
@@ -13,7 +13,11 @@ import csv
import re
import datetime
-surveytab = open(os.path.join(settings.SURVEYS, "Surveys.csv"))
+try:
+ surveytab = open(os.path.join(settings.SURVEYS, "Surveys.csv"))
+except IOError:
+ import cStringIO, urllib
+ surveytab = cStringIO.StringIO(urllib.urlopen(settings.SURVEYS + "download/Surveys.csv").read())
dialect=csv.Sniffer().sniff(surveytab.read())
surveytab.seek(0,0)
surveyreader = csv.reader(surveytab,dialect=dialect)
@@ -29,7 +33,7 @@ models.Survey.objects.all().delete()
for survey in surveyreader:
walletNumberLetter = re.match(r'(?P<number>\d*)(?P<letter>[a-zA-Z]*)',survey[header['Survey Number']]) #I hate this, but some surveys have a letter eg 2000#34a. This line deals with that.
# print walletNumberLetter.groups()
-
+
surveyobj = models.Survey(
expedition = models.Expedition.objects.filter(year=survey[header['Year']])[0],
wallet_number = walletNumberLetter.group('number'),
@@ -43,15 +47,23 @@ for survey in surveyreader:
pass
surveyobj.save()
print "added survey " + survey[header['Year']] + "#" + surveyobj.wallet_number + "\r",
-
+
+def listdir(*directories):
+ try:
+ return os.listdir(os.path.join(settings.SURVEYS, *directories))
+ except:
+ import urllib
+ url = settings.SURVEYS + reduce(lambda x, y: x + "/" + y, ["listdir"] + list(directories))
+ folders = urllib.urlopen(url.replace("#", "%23")).readlines()
+ return [folder.rstrip(r"/") for folder in folders]
+
# add survey scans
def parseSurveyScans(year):
- yearPath=os.path.join(settings.SURVEYS, year.year)
- yearFileList=os.listdir(yearPath)
+ yearFileList = listdir(year.year)
for surveyFolder in yearFileList:
try:
surveyNumber=re.match(r'\d\d\d\d#0*(\d+)',surveyFolder).groups()
- scanList=os.listdir(os.path.join(yearPath,surveyFolder))
+ scanList = listdir(year.year, surveyFolder)
except AttributeError:
print surveyFolder + " ignored",
continue
diff --git a/settings.py b/settings.py
index b3550d7..e5c2101 100644
--- a/settings.py
+++ b/settings.py
@@ -33,7 +33,7 @@ USE_I18N = True
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/troggle/media-admin/'
-PHOTOS = os.path.join(EXPOWEB, 'photos')
+PHOTOS_ROOT = os.path.join(EXPOWEB, 'photos')
MEDIA_URL = URL_ROOT+'/site_media/'
SURVEYS_URL = URL_ROOT+'/survey_scans/'
PHOTOS_URL = URL_ROOT+'/photos/'
diff --git a/urls.py b/urls.py
index 49eb1b3..42e611d 100644
--- a/urls.py
+++ b/urls.py
@@ -19,7 +19,7 @@ urlpatterns = patterns('',
#(r'^person/(?P<person_id>\d*)/?$', views_logbooks.person),
url(r'^person/(?P<first_name>[A-Z]*[a-z\-\']*)[^a-zA-Z]*(?P<last_name>[A-Z]*[a-z\-]*)/?', views_logbooks.person, name="person"),
#url(r'^person/(\w+_\w+)$', views_logbooks.person, name="person"),
-
+
url(r'^expedition/(\d+)$', views_logbooks.expedition, name="expedition"),
url(r'^personexpedition/(?P<first_name>[A-Z]*[a-z]*)[^a-zA-Z]*(?P<last_name>[A-Z]*[a-z]*)/(?P<year>\d+)/?$', views_logbooks.personexpedition, name="personexpedition"),
url(r'^logbookentry/(.+)$', views_logbooks.logbookentry,name="logbookentry"),
@@ -76,5 +76,5 @@ urlpatterns = patterns('',
{'document_root': settings.SURVEYS, 'show_indexes':True}),
(r'^photos/(?P<path>.*)$', 'django.views.static.serve',
- {'document_root': settings.PHOTOS, 'show_indexes':True}),
+ {'document_root': settings.PHOTOS_ROOT, 'show_indexes':True}),
)