diff options
Diffstat (limited to 'core/models.py')
-rw-r--r-- | core/models.py | 23 |
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) |