Skip to content

Commit f9d827a

Browse files
committed
header site info and variable and method info header print stuff
1 parent 9b1c470 commit f9d827a

4 files changed

Lines changed: 91 additions & 4 deletions

File tree

odmtools/controller/frmSeriesSelector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ def onRightExData(self, event):
306306
full_path = os.path.join(dlg.GetDirectory(), dlg.GetFilename())
307307

308308
#series_id = self.tableSeries.getColumnText(self.selectedIndex, 1)
309-
series_id = self.tblSeries.GetSelectedObject().id
309+
series_id = self.tblSeries.GetSelectedObject().ResultID
310310
self.export_service.export_series_data(series_id, full_path, True, True, True, True, True, True, True)
311311
self.Close()
312312

odmtools/gui/frmDataExport.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def __init__(self, parent, series_id):
7979
self._init_ctrls(parent)
8080

8181
sm = ServiceManager()
82-
self.export_service = sm.get_export_service()
82+
self.export_data = sm.get_export_service()
8383

8484

8585
def OnBtnOKButton(self, event):
@@ -96,7 +96,8 @@ def OnBtnOKButton(self, event):
9696
full_path = os.path.join(dlg.GetDirectory(), dlg.GetFilename())
9797
print full_path
9898

99-
self.export_service.export_series_data(self.series_id, full_path, utc, site, var, offset, qual, src, qcl)
99+
#self.export_service.export_series_data(self.series_id, full_path, utc, site, var, offset, qual, src, qcl)
100+
self.export_data.export_series_data(self.series_id, full_path, utc, site, var, offset, qual, src, qcl)
100101
self.Close()
101102

102103
dlg.Destroy()
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
import csv
2+
import xml.etree.cElementTree as ET
3+
import datetime
4+
5+
class ExportData():
6+
7+
def __init__(self, series_service):
8+
self._series_service = series_service
9+
self.dt_format_str = "%m/%d/%Y %I:%M:%S %p"
10+
11+
def export_series_data(self, series_id, filename, utc=False, site=False, var=False, offset=False, qual=False,
12+
src=False, qcl=False):
13+
#series = self._series_service.get_series_by_id(series_id)
14+
series = self._series_service.get_series(series_id)
15+
16+
if series is None:
17+
return False
18+
19+
writer = csv.writer(open(filename, 'wb'))
20+
plainWriter = open(filename, 'w')
21+
print "filename: "
22+
print filename
23+
self.write_data_header(plainWriter, series, utc, site, var, offset, qual, src, qcl)
24+
# for dv in series.data_values:
25+
# self.write_data_row(writer, series, dv, utc, site, var, offset, qual, src, qcl)
26+
27+
def export_data(self, series_ids, filename):
28+
if series_ids is None:
29+
return
30+
31+
try:
32+
with open(filename):
33+
file_exists = True
34+
except IOError:
35+
file_exists = False
36+
37+
if file_exists:
38+
pass
39+
40+
def write_data_header(self, plainWriter, series, utc, site, var, offset, qual, src, qcl):
41+
self.write_warning_header(plainWriter)
42+
self.write_site_information(plainWriter, series, site)
43+
self.write_variable_and_method_information(plainWriter, series)
44+
45+
46+
def write_site_information(self, plainWriter, series, site):
47+
plainWriter.write('# Site Information\n')
48+
plainWriter.write('# ----------------------------------\n')
49+
plainWriter.write('# Network: TBD\n')
50+
plainWriter.write('# SiteCode: '+str(series.FeatureActionObj.SamplingFeatureObj.SamplingFeatureCode)+'\n')
51+
plainWriter.write('# SiteName: ' + str(series.FeatureActionObj.SamplingFeatureObj.SamplingFeatureName) + '\n')
52+
plainWriter.write('# Latitude: ' + str(series.FeatureActionObj.SamplingFeatureObj.Latitude) + '\n')
53+
plainWriter.write('# Longitude: ' + str(series.FeatureActionObj.SamplingFeatureObj.Longitude) + '\n')
54+
plainWriter.write('# LatLonDatum: ' + 'TBD' + '\n') #FIX
55+
plainWriter.write('# Elevation_m: ' + str(series.FeatureActionObj.SamplingFeatureObj.Elevation_m) + '\n')
56+
plainWriter.write('# ElevationDatum: ' + str(series.FeatureActionObj.SamplingFeatureObj.ElevationDatumCV) + '\n')
57+
plainWriter.write('# State: ' + 'TBD' + '\n') # FIX
58+
plainWriter.write('# County: ' + 'TBD' + '\n') # FIX
59+
plainWriter.write('# Comments: ' + 'TBD' + '\n') # FIX
60+
plainWriter.write(
61+
'# SiteType: ' + str(series.FeatureActionObj.SamplingFeatureObj.SiteTypeCV) + '\n')
62+
plainWriter.write('#\n')
63+
64+
def write_variable_and_method_information(self, plainWriter, series):
65+
plainWriter.write('# Variable and Method Information\n')
66+
plainWriter.write('# ----------------------------------\n')
67+
plainWriter.write('# VariableCode: ' + str(series.VariableObj.VariableCode) + '\n')
68+
plainWriter.write('# VariableName: ' + str(series.VariableObj.VariableName) + '\n')
69+
70+
def write_warning_header(self, plainWriter):
71+
plainWriter.write(
72+
'# ------------------------------------------------------------------------------------------\n')
73+
plainWriter.write('# WARNING: The data are released on the condition that neither iUTAH nor any of its \n')
74+
plainWriter.write('# participants may be held liable for any damages resulting from their use. The following \n')
75+
plainWriter.write('# metadata describe the data in this file:\n')
76+
plainWriter.write(
77+
'# ------------------------------------------------------------------------------------------\n')
78+
plainWriter.write('#\n')
79+
plainWriter.write('# Quality Control Level Information\n')
80+
plainWriter.write('# -----------------------------------------------\n')
81+
plainWriter.write('# These data have passed QA/QC procedures such as sensor calibration and\n')
82+
plainWriter.write('# visual inspection and removal of obvious errors. These data are approved\n')
83+
plainWriter.write('# by Technicians as the best available version of the data. See published\n')
84+
plainWriter.write('# script for correction steps specific to this data series.\n')
85+
plainWriter.write('#\n')

odmtools/odmservices/service_manager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from series_service import SeriesService
1010
from edit_service import EditService
1111
from export_service import ExportService
12+
from export_data import ExportData
1213

1314

1415
from odmtools.controller import EditTools
@@ -165,7 +166,7 @@ def get_record_service(self, script, series_id, connection):
165166

166167

167168
def get_export_service(self):
168-
return ExportService(self.get_series_service())
169+
return ExportData(self.get_series_service())
169170

170171
## ###################
171172
# private variables

0 commit comments

Comments
 (0)