diff options
author | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 06:02:04 +0100 |
---|---|---|
committer | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-05-13 06:02:04 +0100 |
commit | 64000dda37ed3595603fc724a7653816516f65a7 (patch) | |
tree | bf14e1abd77b5fdbbc0b56b0c56632096c846020 /export | |
parent | e1c4db340574885af6568d7bac9d45b52dce2968 (diff) | |
download | troggle-64000dda37ed3595603fc724a7653816516f65a7.tar.gz troggle-64000dda37ed3595603fc724a7653816516f65a7.tar.bz2 troggle-64000dda37ed3595603fc724a7653816516f65a7.zip |
[svn] Make qm table export script work
Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8273 by aaron @ 3/14/2009 4:16 AM
Diffstat (limited to 'export')
-rw-r--r-- | export/toqms.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/export/toqms.py b/export/toqms.py index e69de29..0597da6 100644 --- a/export/toqms.py +++ b/export/toqms.py @@ -0,0 +1,37 @@ +import troggle.expo.models as models
+from django.conf import settings
+
+import csv
+import re
+import os
+
+#format of QM tables
+headers=['Number','Grade','Area','Description','Page reference','Nearest station','Completion description','Comment']
+
+def qmRow(qm):
+ #mapping of troggle models to table columns is: (guess this could just be a tuple of tuples rather than a dictionary actually)
+ columnsToModelFields={
+ 'Number':str(qm.number), + 'Grade':qm.grade, + 'Area':qm.area, + 'Description':qm.location_description, + #'Page reference': #not implemented + 'Nearest station':qm.nearest_station_description, + 'Completion description':qm.completion_description, + 'Comment':qm.comment
+ }
+
+ qmRow=['' for x in range(len(headers))]
+ for column, modelField in columnsToModelFields.items():
+ if modelField:
+ # Very sorry about the atrocious replace below. I will fix this soon if noone beats me to it. - AC
+ qmRow[headers.index(column)]=modelField.replace(u'\xd7','x').replace(u'\u201c','').replace(u'\u2013','').replace(u'\xbd','')
+ return qmRow
+
+def writeQmTable(path,cave):
+ outfile=file(path,'w')
+ cavewriter=csv.writer(outfile,lineterminator='\r')
+ cavewriter.writerow(headers)
+ for qm in cave.get_QMs():
+ cavewriter.writerow(qmRow(qm))
+
\ No newline at end of file |