3
3
from odmtools .odmdata import *
4
4
import os
5
5
import sys
6
+ from odm2api .ODM2 .models import *
7
+ from odm2api .ODM2 .services .readService import DetailedResult
6
8
7
9
8
10
def build_db (engine ):
@@ -40,10 +42,11 @@ def add_bulk_data_values(session, series, dvs_size):
40
42
session .commit ()
41
43
return df
42
44
45
+
43
46
def add_series_bulk_data (session , dvs_size = 50 ):
44
47
site = add_site (session )
45
48
var = add_variable (session )
46
- qcl = add_qcl (session )
49
+ qcl = add_process_level (session )
47
50
method = add_method (session )
48
51
source = add_source (session )
49
52
@@ -73,33 +76,18 @@ def add_series_bulk_data(session, dvs_size=50):
73
76
session .commit ()
74
77
return series
75
78
79
+
76
80
# Create Series objects
77
81
def add_series (session ):
78
- site = add_site ( session )
82
+ result = Results ( )
79
83
var = add_variable (session )
80
- qcl = add_qcl (session )
81
- method = add_method (session )
82
- source = add_source (session )
83
-
84
- series = Series ()
85
- series .site = site
86
- series .site_code = site .code
87
- series .variable = var
88
- series .variable_code = var .code
89
- series .method = method
90
- series .source = source
91
- series .quality_control_level_id = qcl .id
92
-
93
- dvs = add_data_values (session , series )
94
- series .begin_date_time = dvs [0 ].local_date_time
95
- series .end_date_time = dvs [- 1 ].local_date_time
96
- series .begin_date_time_utc = dvs [0 ].date_time_utc
97
- series .end_date_time_utc = dvs [- 1 ].date_time_utc
98
- series .value_count = len (dvs )
99
-
100
- session .add (series )
84
+ qcl = add_process_level (session )
85
+ result .VariableObj = var
86
+ result .ProcessingLevelObj = qcl
87
+ result .ProcessingLevelID = qcl .ProcessingLevelID
88
+ session .add (result )
101
89
session .commit ()
102
- return series
90
+ return result
103
91
104
92
105
93
def add_data_values (session , series ):
@@ -126,75 +114,63 @@ def add_data_values(session, series):
126
114
127
115
def add_site (session ):
128
116
spatial_ref = add_spatial_reference (session )
129
- site = Site ("ABC123" , "Test Site" )
130
- site .latitude = 10.0
131
- site .longitude = 10.0
132
- site .lat_long_datum_id = spatial_ref .id
133
- site .local_projection_id = spatial_ref .id
134
- site .elevation_m = 1000
135
- site .local_x = 10.0
136
- site .local_y = 10.0
117
+ site = Sites ("ABC123" , "Test Site" )
118
+ site .Latitude = 10.0
119
+ site .Longitude = 10.0
120
+ site .lat_long_datum_id = spatial_ref .SpatialReferenceID
121
+ site .local_projection_id = spatial_ref .SpatialReferenceID
122
+ site .Elevation_m = 1000
123
+ # site.local_x = 10.0
124
+ # site.local_y = 10.0
137
125
session .add (site )
138
126
session .commit ()
139
127
return site
140
128
141
129
142
130
def add_variable (session ):
143
131
unit = add_unit (session )
144
- variable = Variable ()
145
- variable .code = "ABC123"
146
- variable .name = "Test Variable"
147
- variable .speciation = "Test"
148
- variable .variable_unit_id = unit .id
149
- variable .sample_medium = "Test Medium"
150
- variable .value_type = "Test Val Type"
151
- variable .is_regular = True
152
- variable .time_support = 3.14
153
- variable .time_unit_id = unit .id
154
- variable .data_type = "Test Data Type"
155
- variable .general_category = "Test Category"
156
- variable .no_data_value = - 2000.0
132
+ variable = Variables ()
133
+ variable .VariableCode = "ABC123"
134
+ variable .VariableNameCV = "Test Variable"
135
+ variable .SpeciationCV = "Test"
136
+ variable .VariableID = unit .id
137
+ variable .NoDataValue = - 2000.0
157
138
session .add (variable )
158
139
session .commit ()
159
140
return variable
160
141
161
142
162
143
def add_method (session ):
163
- method = Method ()
164
- method .description = "This is a test"
144
+ method = Methods ()
145
+ method .MethodDescription = "This is a test"
165
146
session .add (method )
166
147
session .commit ()
167
148
return method
168
149
169
150
170
- def add_qcl (session ):
171
- qcl = QualityControlLevel ()
172
- qcl . code = "ABC123"
173
- qcl . definition = "This is a test"
174
- qcl . explanation = "A test is a thing that tests code"
175
- session .add (qcl )
151
+ def add_process_level (session ):
152
+ proc_level = ProcessingLevels ()
153
+ proc_level . ProcessingLevelCode = "ABC123"
154
+ proc_level . Definition = "This is a test"
155
+ proc_level . Explanation = "A test is a thing that tests code"
156
+ session .add (proc_level )
176
157
session .commit ()
177
- return qcl
158
+ return proc_level
178
159
179
160
180
161
def add_source (session ):
181
- source = Source ()
182
- source .organization = "Test Organization"
183
- source .description = "This is a test"
184
- source .contact_name = "Test Name"
185
- source .phone = "555-1234"
186
- source .email = "source@example.com"
187
- source .address = "123 Test Street"
188
- source .city = "Metropolis"
189
- source .state = "NY"
190
- source .zip_code = "12345"
191
- source .citation = "Test Citation"
192
-
193
- iso = add_iso_metadata (session )
194
- source .iso_metadata_id = iso .id
195
- session .add (source )
162
+ organization = Organizations ()
163
+ affiliation = Affiliations ()
164
+ organization .OrganizationName = "Test Organization"
165
+ organization .OrganizationDescription = "This is a test"
166
+ affiliation .PersonLink = "Test Name"
167
+ affiliation .PrimaryPhone = "555-1234"
168
+ affiliation .PrimaryEmail = "source@example.com"
169
+ affiliation .PrimaryAddress = "123 Test Street"
170
+ affiliation .OrganizationObj = organization
171
+ session .add (affiliation )
196
172
session .commit ()
197
- return source
173
+ return affiliation
198
174
199
175
200
176
def add_iso_metadata (session ):
@@ -209,8 +185,8 @@ def add_iso_metadata(session):
209
185
210
186
211
187
def add_spatial_reference (session ):
212
- spatial_ref = SpatialReference ()
213
- spatial_ref .srs_name = "This is a test"
188
+ spatial_ref = SpatialReferences ()
189
+ spatial_ref .SRSName = "This is a test"
214
190
session .add (spatial_ref )
215
191
session .commit ()
216
192
return spatial_ref
@@ -258,19 +234,19 @@ def add_site_type_cv(session):
258
234
259
235
260
236
def add_variable_name_cv (session ):
261
- var_name_cv = VariableNameCV ()
262
- var_name_cv .term = "Test"
263
- var_name_cv .definition = "This is a test"
237
+ var_name_cv = CVVariableName ()
238
+ var_name_cv .Term = "Test"
239
+ var_name_cv .Definition = "This is a test"
264
240
session .add (var_name_cv )
265
241
session .commit ()
266
242
return var_name_cv
267
243
268
244
269
245
def add_unit (session ):
270
- unit = Unit ()
271
- unit .name = "Test"
272
- unit .type = "Test"
273
- unit .abbreviation = "T"
246
+ unit = Units ()
247
+ unit .UnitsName = "Test"
248
+ unit .UnitsTypeCV = "Test"
249
+ unit .UnitsAbbreviation = "T"
274
250
session .add (unit )
275
251
session .commit ()
276
252
return unit
@@ -286,9 +262,9 @@ def add_offset_type_cv(session, unit_id):
286
262
287
263
288
264
def add_speciation_cv (session ):
289
- spec = SpeciationCV ()
290
- spec .term = "Test"
291
- spec .definition = "This is a test"
265
+ spec = CVSpeciation ()
266
+ spec .Term = "Test"
267
+ spec .Definition = "This is a test"
292
268
session .add (spec )
293
269
session .commit ()
294
270
return spec
0 commit comments