summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-22 06:17:24 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-22 06:17:24 +0100
commitf6d3a7c84ebe6d3e6980883828dc4e315176b142 (patch)
tree9cfb959a60c7b6f4ae0804cab6e59f70519ac52b
parent7769a35f076211ec13a2b798fd8c84569e619984 (diff)
downloadtroggle-f6d3a7c84ebe6d3e6980883828dc4e315176b142.tar.gz
troggle-f6d3a7c84ebe6d3e6980883828dc4e315176b142.tar.bz2
troggle-f6d3a7c84ebe6d3e6980883828dc4e315176b142.zip
[svn] switched from dodgy manually writing to logfile to using python's logging module, which seems great
-rw-r--r--expo/models.py6
-rw-r--r--parsers/cavetab.py34
-rw-r--r--parsers/surveys.py22
-rw-r--r--save_carefully.py18
-rw-r--r--templates/controlPanel.html2
5 files changed, 37 insertions, 45 deletions
diff --git a/expo/models.py b/expo/models.py
index 70f8381..42b2be6 100644
--- a/expo/models.py
+++ b/expo/models.py
@@ -1,4 +1,4 @@
-import urllib, urlparse, string, os, datetime
+import urllib, urlparse, string, os, datetime, logging
import troggle.mptt as mptt
from django.forms import ModelForm
from django.db import models
@@ -14,6 +14,10 @@ getcontext().prec=2 #use 2 significant figures for decimal calculations
from models_survex import *
+logging.basicConfig(level=logging.DEBUG,
+ filename=settings.LOGFILE,
+ filemode='w')
+
#This class is for adding fields and methods which all of our models will have.
class TroggleModel(models.Model):
new_since_parsing = models.BooleanField(default=False, editable=False)
diff --git a/parsers/cavetab.py b/parsers/cavetab.py
index 187c4ac..3a990fe 100644
--- a/parsers/cavetab.py
+++ b/parsers/cavetab.py
@@ -1,12 +1,7 @@
# -*- coding: utf-8 -*-
import troggle.expo.models as models
from django.conf import settings
-import csv
-import time
-
-import re
-import os
-
+import csv, time, re, os, logging
from troggle.save_carefully import save_carefully
##format of CAVETAB2.CSV is
@@ -136,20 +131,18 @@ def html_to_wiki(text):
text2 = ""
return out
-def LoadCaveTab(logfile=settings.LOGFILE):
+def LoadCaveTab():
cavetab = open(os.path.join(settings.EXPOWEB, "noinfo", "CAVETAB2.CSV"),'rU')
caveReader = csv.reader(cavetab)
caveReader.next() # Strip out column headers
- if logfile:
- logfile.write("Beginning to import caves from "+str(cavetab)+"\n"+"-"*60+"\n")
+ logging.info("Beginning to import caves from "+str(cavetab)+"\n"+"-"*60+"\n")
for katArea in ['1623', '1626']:
if not models.Area.objects.filter(short_name = katArea):
newArea = models.Area(short_name = katArea)
newArea.save()
- if logfile:
- logfile.write("Added area "+str(newArea.short_name)+"\n")
+ logging.info("Added area "+str(newArea.short_name)+"\n")
area1626 = models.Area.objects.filter(short_name = '1626')[0]
area1623 = models.Area.objects.filter(short_name = '1623')[0]
@@ -190,8 +183,7 @@ def LoadCaveTab(logfile=settings.LOGFILE):
addToDefaultArgs(Notes, "notes")
newCave, created=save_carefully(models.Cave, lookupAttribs=args, nonLookupAttribs=defaultArgs)
- if logfile:
- logfile.write("Added cave "+str(newCave)+"\n")
+ logging.info("Added cave "+str(newCave)+"\n")
#If we created a new cave, add the area to it. This does mean that if a cave's identifying features have not changed, areas will not be updated from csv.
if created and line[Area]:
@@ -209,14 +201,14 @@ def LoadCaveTab(logfile=settings.LOGFILE):
newCave.area.add(area1623)
newCave.save()
- if logfile:
- logfile.write("Added area "+line[Area]+" to cave "+str(newCave)+"\n")
+
+ logging.info("Added area "+line[Area]+" to cave "+str(newCave)+"\n")
if created and line[UnofficialName]:
newUnofficialName = models.OtherCaveName(cave = newCave, name = line[UnofficialName])
newUnofficialName.save()
- if logfile:
- logfile.write("Added unofficial name "+str(newUnofficialName)+" to cave "+str(newCave)+"\n")
+
+ logging.info("Added unofficial name "+str(newUnofficialName)+" to cave "+str(newCave)+"\n")
if created and line[MultipleEntrances] == '' or \
line[MultipleEntrances] == 'entrance' or \
@@ -277,8 +269,8 @@ def LoadCaveTab(logfile=settings.LOGFILE):
addToArgs(Bearings, 'bearings')
newEntrance = models.Entrance(**args)
newEntrance.save()
- if logfile:
- logfile.write("Added entrance "+str(newEntrance)+"\n")
+
+ logging.info("Added entrance "+str(newEntrance)+"\n")
if line[Entrances]:
entrance_letter = line[Entrances]
@@ -287,8 +279,8 @@ def LoadCaveTab(logfile=settings.LOGFILE):
newCaveAndEntrance = models.CaveAndEntrance(cave = newCave, entrance = newEntrance, entrance_letter = entrance_letter)
newCaveAndEntrance.save()
- if logfile:
- logfile.write("Added CaveAndEntrance "+str(newCaveAndEntrance)+"\n")
+
+ logging.info("Added CaveAndEntrance "+str(newCaveAndEntrance)+"\n")
# lookup function modelled on GetPersonExpeditionNameLookup
diff --git a/parsers/surveys.py b/parsers/surveys.py
index 142a2bb..da94fe6 100644
--- a/parsers/surveys.py
+++ b/parsers/surveys.py
@@ -1,6 +1,4 @@
-import sys
-import os
-import types
+import sys, os, types, logging
#sys.path.append('C:\\Expo\\expoweb')
#from troggle import *
#os.environ['DJANGO_SETTINGS_MODULE']='troggle.settings'
@@ -26,7 +24,7 @@ def get_or_create_placeholder(year):
placeholder_logbook_entry, newly_created = save_carefully(LogbookEntry, lookupAttribs, nonLookupAttribs)
return placeholder_logbook_entry
-def readSurveysFromCSV(logfile=None):
+def readSurveysFromCSV():
try:
surveytab = open(os.path.join(settings.SURVEYS, "Surveys.csv"))
except IOError:
@@ -43,16 +41,16 @@ def readSurveysFromCSV(logfile=None):
print "There are no expeditions in the database. Please run the logbook parser."
sys.exit()
- if logfile:
- logfile.write("Deleting all scanned images")
+
+ logging.info("Deleting all scanned images")
ScannedImage.objects.all().delete()
- if logfile:
- logfile.write("Deleting all survey objects")
+
+ logging.info("Deleting all survey objects")
Survey.objects.all().delete()
- if logfile:
- logfile.write("Beginning to import surveys from "+str(os.path.join(settings.SURVEYS, "Surveys.csv"))+"\n"+"-"*60+"\n")
+
+ logging.info("Beginning to import surveys from "+str(os.path.join(settings.SURVEYS, "Surveys.csv"))+"\n"+"-"*60+"\n")
for survey in surveyreader:
#I hate this, but some surveys have a letter eg 2000#34a. The next line deals with that.
@@ -74,8 +72,8 @@ def readSurveysFromCSV(logfile=None):
pass
surveyobj.save()
- if logfile:
- logfile.write("added survey " + survey[header['Year']] + "#" + surveyobj.wallet_number + "\r")
+
+ logging.info("added survey " + survey[header['Year']] + "#" + surveyobj.wallet_number + "\r")
def listdir(*directories):
try:
diff --git a/save_carefully.py b/save_carefully.py
index f72b4fa..ee7c0cc 100644
--- a/save_carefully.py
+++ b/save_carefully.py
@@ -1,4 +1,4 @@
-from settings import LOGFILE
+import logging
def save_carefully(objectType, lookupAttribs={}, nonLookupAttribs={}):
"""Looks up instance using lookupAttribs and carries out the following:
@@ -18,14 +18,12 @@ def save_carefully(objectType, lookupAttribs={}, nonLookupAttribs={}):
setattr(instance, k, v)
instance.save()
- if LOGFILE:
- if created:
- LOGFILE.write(unicode(instance)+u' was just added to the database for the first time. \n')
-
- if not created and instance.new_since_parsing:
- LOGFILE.write(unicode(instance)+" has been modified using Troggle, so the current script left it as is. \n")
+ if created:
+ logging.info(unicode(instance)+u' was just added to the database for the first time. \n')
+
+ if not created and instance.new_since_parsing:
+ logging.info(unicode(instance)+" has been modified using Troggle, so the current script left it as is. \n")
- if not created and not instance.new_since_parsing:
- LOGFILE.write(unicode(instance)+" existed in the database unchanged since last parse. It was overwritten by the current script. \n")
- LOGFILE.flush()
+ if not created and not instance.new_since_parsing:
+ logging.info(unicode(instance)+" existed in the database unchanged since last parse. It was overwritten by the current script. \n")
return (instance, created) \ No newline at end of file
diff --git a/templates/controlPanel.html b/templates/controlPanel.html
index d62030f..209fa20 100644
--- a/templates/controlPanel.html
+++ b/templates/controlPanel.html
@@ -10,7 +10,7 @@
<li>{{ job }}</li>
{% endfor %}
</ul>
- {% if settings.LOGFILE %}See the logfile at {{settings.LOGFILE.path}} for more information.{% endif %}
+ {% if settings.LOGFILE %}See the logfile at {{settings.LOGFILE}} for more information.{% endif %}
<a href="#" class="closeDiv">dismiss this message</a>
</div>
{% endif %}