33from odmtools .odmdata import *
44import os
55import sys
6+ from odm2api .ODM2 .models import *
7+ from odm2api .ODM2 .services .readService import DetailedResult
68
79
810def build_db (engine ):
@@ -40,10 +42,11 @@ def add_bulk_data_values(session, series, dvs_size):
4042 session .commit ()
4143 return df
4244
45+
4346def add_series_bulk_data (session , dvs_size = 50 ):
4447 site = add_site (session )
4548 var = add_variable (session )
46- qcl = add_qcl (session )
49+ qcl = add_process_level (session )
4750 method = add_method (session )
4851 source = add_source (session )
4952
@@ -73,33 +76,18 @@ def add_series_bulk_data(session, dvs_size=50):
7376 session .commit ()
7477 return series
7578
79+
7680# Create Series objects
7781def add_series (session ):
78- site = add_site ( session )
82+ result = Results ( )
7983 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 )
10189 session .commit ()
102- return series
90+ return result
10391
10492
10593def add_data_values (session , series ):
@@ -126,75 +114,63 @@ def add_data_values(session, series):
126114
127115def add_site (session ):
128116 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
137125 session .add (site )
138126 session .commit ()
139127 return site
140128
141129
142130def add_variable (session ):
143131 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
157138 session .add (variable )
158139 session .commit ()
159140 return variable
160141
161142
162143def add_method (session ):
163- method = Method ()
164- method .description = "This is a test"
144+ method = Methods ()
145+ method .MethodDescription = "This is a test"
165146 session .add (method )
166147 session .commit ()
167148 return method
168149
169150
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 )
176157 session .commit ()
177- return qcl
158+ return proc_level
178159
179160
180161def 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 )
196172 session .commit ()
197- return source
173+ return affiliation
198174
199175
200176def add_iso_metadata (session ):
@@ -209,8 +185,8 @@ def add_iso_metadata(session):
209185
210186
211187def 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"
214190 session .add (spatial_ref )
215191 session .commit ()
216192 return spatial_ref
@@ -258,19 +234,19 @@ def add_site_type_cv(session):
258234
259235
260236def 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"
264240 session .add (var_name_cv )
265241 session .commit ()
266242 return var_name_cv
267243
268244
269245def 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"
274250 session .add (unit )
275251 session .commit ()
276252 return unit
@@ -286,9 +262,9 @@ def add_offset_type_cv(session, unit_id):
286262
287263
288264def 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"
292268 session .add (spec )
293269 session .commit ()
294270 return spec
0 commit comments