Skip to content

Commit 84043fa

Browse files
Merge pull request #14 from Loop3D/segNum_change
fix: Add segNum to obs tables, removed rank and type.
2 parents 541a6d5 + 9fbd104 commit 84043fa

File tree

3 files changed

+127
-119
lines changed

3 files changed

+127
-119
lines changed

LoopProjectFile/LoopProjectFile.py

Lines changed: 125 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ def CreateBasic(filename):
105105

106106

107107
# Open project file with error checking for file existing and of netCDF format
108-
def OpenProjectFile(filename, readOnly=True, verbose=True):
108+
def OpenProjectFile(filename, readOnly=True, verbose=False):
109109
"""
110110
**OpenProjectFile** - Open a Loop Project File and checks it exists and is a
111111
netCDF formatted file
@@ -133,9 +133,11 @@ def OpenProjectFile(filename, readOnly=True, verbose=True):
133133
print(errStr, file=sys.stderr)
134134
return {"errorFlag": True, "errorString": errStr}
135135

136+
# Quick check to see if openable
136137
try:
137138
with open(filename, 'rb') as f:
138-
print(f"File {filename} opened successfully.", file=sys.stderr)
139+
if (verbose):
140+
print(f"File {filename} opened successfully.", file=sys.stderr)
139141
except Exception as e:
140142
return {"errorFlag": True, "errorString": str(e)}
141143

@@ -217,106 +219,117 @@ def Set(filename, element, **kwargs):
217219
True
218220
219221
"""
220-
fileResp = OpenProjectFile(filename, readOnly=False, verbose=False)
222+
if "verbose" in kwargs.keys():
223+
verbose = kwargs["verbose"]
224+
else:
225+
verbose = False
226+
227+
fileResp = OpenProjectFile(filename, readOnly=False, verbose=verbose)
221228
if fileResp["errorFlag"]:
222229
response = fileResp
223230
else:
224231
root = fileResp["root"]
225-
if element == "version":
226-
response = Version.SetVersion(root, **kwargs)
227-
elif element == "extents":
228-
response = Extents.SetExtents(root, **kwargs)
229-
elif element == "strModel":
230-
response = StructuralModels.SetStructuralModel(root, **kwargs)
231-
elif element == "faultObservations":
232-
response = DataCollection.SetFaultObservations(root, **kwargs)
233-
elif element == "faultObservationsAppend":
234-
response = DataCollection.SetFaultObservations(root, append=True, **kwargs)
235-
elif element == "foldObservations":
236-
response = DataCollection.SetFoldObservations(root, **kwargs)
237-
elif element == "foldObservationsAppend":
238-
response = DataCollection.SetFoldObservations(root, append=True, **kwargs)
239-
elif element == "foliationObservations":
240-
response = DataCollection.SetFoliationObservations(root, **kwargs)
241-
elif element == "foliationObservationsAppend":
242-
response = DataCollection.SetFoliationObservations(
243-
root, append=True, **kwargs
244-
)
245-
elif element == "discontinuityObservations":
246-
response = DataCollection.SetDiscontinuityObservations(root, **kwargs)
247-
elif element == "discontinuityObservationsAppend":
248-
response = DataCollection.SetDiscontinuityObservations(
249-
root, append=True, **kwargs
250-
)
251-
elif element == "stratigraphicObservations":
252-
response = DataCollection.SetStratigraphicObservations(root, **kwargs)
253-
elif element == "stratigraphicObservationsAppend":
254-
response = DataCollection.SetStratigraphicObservations(
255-
root, append=True, **kwargs
256-
)
257-
elif element == "contacts":
258-
response = DataCollection.SetContacts(root, **kwargs)
259-
elif element == "contactsAppend":
260-
response = DataCollection.SetContacts(root, append=True, **kwargs)
261-
elif element == "drillholeObservations":
262-
response = DataCollection.SetDrillholeObservations(root, **kwargs)
263-
elif element == "drillholeObservationsAppend":
264-
response = DataCollection.SetDrillholeObservations(
265-
root, append=True, **kwargs
266-
)
267-
elif element == "drillholeSurveys":
268-
response = DataCollection.SetDrillholeSurveys(root, **kwargs)
269-
elif element == "drillholeSurveysAppend":
270-
response = DataCollection.SetDrillholeSurveys(root, append=True, **kwargs)
271-
elif element == "drillholeProperties":
272-
response = DataCollection.SetDrillholeProperties(root, **kwargs)
273-
elif element == "drillholePropertiesAppend":
274-
response = DataCollection.SetDrillholeProperties(
275-
root, append=True, **kwargs
276-
)
277-
elif element == "stratigraphicLog":
278-
response = ExtractedInformation.SetStratigraphicLog(root, **kwargs)
279-
elif element == "stratigraphicLogAppend":
280-
response = ExtractedInformation.SetStratigraphicLog(
281-
root, append=True, **kwargs
282-
)
283-
elif element == "faultLog":
284-
response = ExtractedInformation.SetFaultLog(root, **kwargs)
285-
elif element == "faultLogAppend":
286-
response = ExtractedInformation.SetFaultLog(root, append=True, **kwargs)
287-
elif element == "foldLog":
288-
response = ExtractedInformation.SetFoldLog(root, **kwargs)
289-
elif element == "foldLogAppend":
290-
response = ExtractedInformation.SetFoldLog(root, append=True, **kwargs)
291-
elif element == "foliationLog":
292-
response = ExtractedInformation.SetFoliationLog(root, **kwargs)
293-
elif element == "foliationLogAppend":
294-
response = ExtractedInformation.SetFoliationLog(root, append=True, **kwargs)
295-
elif element == "discontinuityLog":
296-
response = ExtractedInformation.SetDiscontinuityLog(root, **kwargs)
297-
elif element == "discontinuityLogAppend":
298-
response = ExtractedInformation.SetDiscontinuityLog(
299-
root, append=True, **kwargs
300-
)
301-
elif element == "drillholeLog":
302-
response = ExtractedInformation.SetDrillholeLog(root, **kwargs)
303-
elif element == "drillholeLogAppend":
304-
response = ExtractedInformation.SetDrillholeLog(root, append=True, **kwargs)
305-
elif element == "dataCollectionConfig":
306-
response = DataCollection.SetConfiguration(root, **kwargs)
307-
elif element == "dataCollectionSources":
308-
response = DataCollection.SetSources(root, **kwargs)
309-
elif element == "dataCollectionRawSourceData":
310-
response = DataCollection.SetRawSourceData(root, **kwargs)
311-
elif element == "eventRelationships":
312-
response = ExtractedInformation.SetEventRelationships(root, **kwargs)
313-
elif element == "structuralModelsConfig":
314-
response = StructuralModels.SetConfiguration(root, **kwargs)
315-
else:
316-
errStr = "(ERROR) Unknown element for Set function '" + element + "'"
317-
print(errStr)
318-
response = {"errorFlag": True, "errorString": errStr}
319-
root.close()
232+
try:
233+
if element == "version":
234+
response = Version.SetVersion(root, **kwargs)
235+
elif element == "extents":
236+
response = Extents.SetExtents(root, **kwargs)
237+
elif element == "strModel":
238+
response = StructuralModels.SetStructuralModel(root, **kwargs)
239+
elif element == "faultObservations":
240+
response = DataCollection.SetFaultObservations(root, **kwargs)
241+
elif element == "faultObservationsAppend":
242+
response = DataCollection.SetFaultObservations(root, append=True, **kwargs)
243+
elif element == "foldObservations":
244+
response = DataCollection.SetFoldObservations(root, **kwargs)
245+
elif element == "foldObservationsAppend":
246+
response = DataCollection.SetFoldObservations(root, append=True, **kwargs)
247+
elif element == "foliationObservations":
248+
response = DataCollection.SetFoliationObservations(root, **kwargs)
249+
elif element == "foliationObservationsAppend":
250+
response = DataCollection.SetFoliationObservations(
251+
root, append=True, **kwargs
252+
)
253+
elif element == "discontinuityObservations":
254+
response = DataCollection.SetDiscontinuityObservations(root, **kwargs)
255+
elif element == "discontinuityObservationsAppend":
256+
response = DataCollection.SetDiscontinuityObservations(
257+
root, append=True, **kwargs
258+
)
259+
elif element == "stratigraphicObservations":
260+
response = DataCollection.SetStratigraphicObservations(root, **kwargs)
261+
elif element == "stratigraphicObservationsAppend":
262+
response = DataCollection.SetStratigraphicObservations(
263+
root, append=True, **kwargs
264+
)
265+
elif element == "contacts":
266+
response = DataCollection.SetContacts(root, **kwargs)
267+
elif element == "contactsAppend":
268+
response = DataCollection.SetContacts(root, append=True, **kwargs)
269+
elif element == "drillholeObservations":
270+
response = DataCollection.SetDrillholeObservations(root, **kwargs)
271+
elif element == "drillholeObservationsAppend":
272+
response = DataCollection.SetDrillholeObservations(
273+
root, append=True, **kwargs
274+
)
275+
elif element == "drillholeSurveys":
276+
response = DataCollection.SetDrillholeSurveys(root, **kwargs)
277+
elif element == "drillholeSurveysAppend":
278+
response = DataCollection.SetDrillholeSurveys(root, append=True, **kwargs)
279+
elif element == "drillholeProperties":
280+
response = DataCollection.SetDrillholeProperties(root, **kwargs)
281+
elif element == "drillholePropertiesAppend":
282+
response = DataCollection.SetDrillholeProperties(
283+
root, append=True, **kwargs
284+
)
285+
elif element == "stratigraphicLog":
286+
response = ExtractedInformation.SetStratigraphicLog(root, **kwargs)
287+
elif element == "stratigraphicLogAppend":
288+
response = ExtractedInformation.SetStratigraphicLog(
289+
root, append=True, **kwargs
290+
)
291+
elif element == "faultLog":
292+
response = ExtractedInformation.SetFaultLog(root, **kwargs)
293+
elif element == "faultLogAppend":
294+
response = ExtractedInformation.SetFaultLog(root, append=True, **kwargs)
295+
elif element == "foldLog":
296+
response = ExtractedInformation.SetFoldLog(root, **kwargs)
297+
elif element == "foldLogAppend":
298+
response = ExtractedInformation.SetFoldLog(root, append=True, **kwargs)
299+
elif element == "foliationLog":
300+
response = ExtractedInformation.SetFoliationLog(root, **kwargs)
301+
elif element == "foliationLogAppend":
302+
response = ExtractedInformation.SetFoliationLog(root, append=True, **kwargs)
303+
elif element == "discontinuityLog":
304+
response = ExtractedInformation.SetDiscontinuityLog(root, **kwargs)
305+
elif element == "discontinuityLogAppend":
306+
response = ExtractedInformation.SetDiscontinuityLog(
307+
root, append=True, **kwargs
308+
)
309+
elif element == "drillholeLog":
310+
response = ExtractedInformation.SetDrillholeLog(root, **kwargs)
311+
elif element == "drillholeLogAppend":
312+
response = ExtractedInformation.SetDrillholeLog(root, append=True, **kwargs)
313+
elif element == "dataCollectionConfig":
314+
response = DataCollection.SetConfiguration(root, **kwargs)
315+
elif element == "dataCollectionSources":
316+
response = DataCollection.SetSources(root, **kwargs)
317+
elif element == "dataCollectionRawSourceData":
318+
response = DataCollection.SetRawSourceData(root, **kwargs)
319+
elif element == "eventRelationships":
320+
response = ExtractedInformation.SetEventRelationships(root, **kwargs)
321+
elif element == "structuralModelsConfig":
322+
response = StructuralModels.SetConfiguration(root, **kwargs)
323+
else:
324+
errStr = "(ERROR) Unknown element for Set function '" + element + "'"
325+
print(errStr)
326+
response = {"errorFlag": True, "errorString": errStr}
327+
finally:
328+
if (verbose):
329+
print(f"Closing file: {filename}",file=sys.stderr)
330+
root.close()
331+
if (verbose):
332+
print(f"{filename} closed successfully",file=sys.stderr)
320333
return response
321334

322335

@@ -373,8 +386,12 @@ def Get(filename, element, **kwargs):
373386
True otherwise the extracted value is in the "value" keyword
374387
375388
"""
389+
if "verbose" in kwargs.keys():
390+
verbose = kwargs["verbose"]
391+
else:
392+
verbose = False
376393

377-
fileResp = OpenProjectFile(filename, readOnly=True, verbose=False)
394+
fileResp = OpenProjectFile(filename, readOnly=True, verbose=verbose)
378395
if fileResp["errorFlag"]:
379396
response = fileResp
380397
else:
@@ -431,9 +448,11 @@ def Get(filename, element, **kwargs):
431448
print(errStr)
432449
response = {"errorFlag": True, "errorString": errStr}
433450
finally:
434-
print(f"Closing file: {filename}",file=sys.stderr)
451+
if (verbose):
452+
print(f"Closing file: {filename}",file=sys.stderr)
435453
root.close()
436-
print(f"{filename} closed successfully",file=sys.stderr)
454+
if (verbose):
455+
print(f"{filename} closed successfully",file=sys.stderr)
437456
return response
438457

439458

@@ -557,7 +576,7 @@ def CheckFileValid(filename, verbose=False):
557576
("easting", "<f8"),
558577
("northing", "<f8"),
559578
("altitude", "<f8"),
560-
("type", "<i4"),
579+
("segNum", "<u4"),
561580
("dipDir", "<f8"),
562581
("dip", "<f8"),
563582
("dipPolarity", "<f8"),
@@ -573,7 +592,7 @@ def CheckFileValid(filename, verbose=False):
573592
("easting", "<f8"),
574593
("northing", "<f8"),
575594
("altitude", "<f8"),
576-
("type", "<i4"),
595+
("segNum", "<u4"),
577596
("axisX", "<f8"),
578597
("axisY", "<f8"),
579598
("axisZ", "<f8"),
@@ -588,7 +607,7 @@ def CheckFileValid(filename, verbose=False):
588607
("easting", "<f8"),
589608
("northing", "<f8"),
590609
("altitude", "<f8"),
591-
("type", "<i4"),
610+
("segNum", "<u4"),
592611
("dipDir", "<f8"),
593612
("dip", "<f8"),
594613
]
@@ -600,7 +619,7 @@ def CheckFileValid(filename, verbose=False):
600619
("easting", "<f8"),
601620
("northing", "<f8"),
602621
("altitude", "<f8"),
603-
("type", "<i4"),
622+
("segNum", "<u4"),
604623
("dipDir", "<f8"),
605624
("dip", "<f8"),
606625
]
@@ -612,7 +631,7 @@ def CheckFileValid(filename, verbose=False):
612631
("easting", "<f8"),
613632
("northing", "<f8"),
614633
("altitude", "<f8"),
615-
("type", "<i4"),
634+
("segNum", "<u4"),
616635
]
617636
)
618637

@@ -622,7 +641,6 @@ def CheckFileValid(filename, verbose=False):
622641
("easting", "<f8"),
623642
("northing", "<f8"),
624643
("altitude", "<f8"),
625-
("type", "<i4"),
626644
("dipDir", "<f8"),
627645
("dip", "<f8"),
628646
("dipPolarity", "<f8"),
@@ -639,8 +657,6 @@ def CheckFileValid(filename, verbose=False):
639657
("group", "S120"),
640658
("supergroup", "S120"),
641659
("enabled", "u1"),
642-
("rank", "<u4"),
643-
("type", "<i4"),
644660
("avgDisplacement", "<f8"),
645661
("avgDownthrowDir", "<f8"),
646662
("influenceDistance", "<f8"),
@@ -668,8 +684,6 @@ def CheckFileValid(filename, verbose=False):
668684
("group", "S120"),
669685
("supergroup", "S120"),
670686
("enabled", "u1"),
671-
("rank", "<u4"),
672-
("type", "<i4"),
673687
("periodic", "u1"),
674688
("wavelength", "<f8"),
675689
("amplitude", "<f8"),
@@ -689,8 +703,6 @@ def CheckFileValid(filename, verbose=False):
689703
("group", "S120"),
690704
("supergroup", "S120"),
691705
("enabled", "u1"),
692-
("rank", "<u4"),
693-
("type", "<i4"),
694706
("lowerScalarValue", "<f8"),
695707
("upperScalarValue", "<f8"),
696708
]
@@ -705,8 +717,6 @@ def CheckFileValid(filename, verbose=False):
705717
("group", "S120"),
706718
("supergroup", "S120"),
707719
("enabled", "u1"),
708-
("rank", "<u4"),
709-
("type", "<i4"),
710720
("scalarValue", "<f8"),
711721
]
712722
)
@@ -720,8 +730,6 @@ def CheckFileValid(filename, verbose=False):
720730
("group", "S120"),
721731
("supergroup", "S120"),
722732
("enabled", "u1"),
723-
("rank", "<u4"),
724-
("type", "<i4"),
725733
("thickness", "<f8"),
726734
("colour1Red", "u1"),
727735
("colour1Green", "u1"),

LoopProjectFile/Version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "0.0.26"
1+
__version__ = "0.1.0"
22

33

44
# Current Loop Project File Version

LoopProjectFile/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@
4242
ElementToDataframe,
4343
ElementFromDataframe,
4444
) # noqa : F401
45-
# from .Version import LoopVersion # noqa : F401
45+
from .Version import LoopVersion # noqa : F401
4646
from .Version import __version__
4747
from .projectfile import ProjectFile # noqa : F401

0 commit comments

Comments
 (0)