summaryrefslogtreecommitdiffstats
path: root/core/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/models.py')
-rw-r--r--core/models.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/core/models.py b/core/models.py
index c3d82b0..fa41f95 100644
--- a/core/models.py
+++ b/core/models.py
@@ -1,4 +1,5 @@
import urllib, urlparse, string, os, datetime, logging, re
+import subprocess
from django.forms import ModelForm
from django.db import models
from django.contrib import admin
@@ -33,7 +34,13 @@ def get_related_by_wikilinks(wiki_text):
return res
-logging.basicConfig(level=logging.DEBUG,
+try:
+ logging.basicConfig(level=logging.DEBUG,
+ filename=settings.LOGFILE,
+ filemode='w')
+except:
+ subprocess.call(settings.FIX_PERMISSIONS)
+ logging.basicConfig(level=logging.DEBUG,
filename=settings.LOGFILE,
filemode='w')
@@ -447,7 +454,7 @@ class Cave(TroggleModel):
return unicode(self.slug())
def get_QMs(self):
- return QM.objects.filter(found_by__cave=self)
+ return QM.objects.filter(found_by__cave_slug=self.caveslug_set.all())
def new_QM_number(self, year=datetime.date.today().year):
"""Given a cave and the current year, returns the next QM number."""
@@ -497,7 +504,11 @@ class Cave(TroggleModel):
return res
def writeDataFile(self):
- f = open(os.path.join(settings.CAVEDESCRIPTIONS, self.filename), "w")
+ try:
+ f = open(os.path.join(settings.CAVEDESCRIPTIONS, self.filename), "w")
+ except:
+ subprocess.call(settings.FIX_PERMISSIONS)
+ f = open(os.path.join(settings.CAVEDESCRIPTIONS, self.filename), "w")
t = loader.get_template('dataformat/cave.xml')
c = Context({'cave': self})
u = t.render(c)
@@ -673,7 +684,11 @@ class Entrance(TroggleModel):
return self.cached_primary_slug
def writeDataFile(self):
- f = open(os.path.join(settings.ENTRANCEDESCRIPTIONS, self.filename), "w")
+ try:
+ f = open(os.path.join(settings.ENTRANCEDESCRIPTIONS, self.filename), "w")
+ except:
+ subprocess.call(settings.FIX_PERMISSIONS)
+ f = open(os.path.join(settings.ENTRANCEDESCRIPTIONS, self.filename), "w")
t = loader.get_template('dataformat/entrance.xml')
c = Context({'entrance': self})
u = t.render(c)