Skip to content
Snippets Groups Projects
Commit 67524189 authored by Jacques Grelet's avatar Jacques Grelet
Browse files

class file_extractor did not work in self mode, improve main function

parent c1a52e6f
No related branches found
No related tags found
No related merge requests found
...@@ -10,6 +10,7 @@ import numpy as np ...@@ -10,6 +10,7 @@ import numpy as np
import re import re
from datetime import datetime from datetime import datetime
import tools import tools
from physical_parameter import Roscop
class FileExtractor: class FileExtractor:
...@@ -299,10 +300,14 @@ class FileExtractor: ...@@ -299,10 +300,14 @@ class FileExtractor:
# --------------------------------- # ---------------------------------
if __name__ == "__main__": if __name__ == "__main__":
# usage: # usage Unix:
# > python file_extractor.py data/CTD/cnv/dfr2900[1-3].cnv -d # > python file_extractor.py data/CTD/cnv/dfr2900[1-3].cnv -d -i CTD
# > python file_extractor.py data/CTD/cnv/dfr2900[1-3].cnv -k PRES TEMP PSAL DOX2 DENS # > python file_extractor.py data/CTD/cnv/dfr2900*.cnv -k PRES TEMP PSAL DOX2 DENS -i CTD
# > python file_extractor.py data/CTD/cnv/dfr29*.cnv -d #
# usage DOS:
# > python file_extractor.py data/CTD/cnv/dfr2900?.cnv -d -i CTD
# > python file_extractor.py data/CTD/cnv/dfr2900?.cnv -k PRES TEMP PSAL DOX2 DENS -i CTD
#
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description='This class read multiple ASCII file, extract physical parameter \ description='This class read multiple ASCII file, extract physical parameter \
from ROSCOP codification at the given column and fill arrays ', from ROSCOP codification at the given column and fill arrays ',
...@@ -311,6 +316,8 @@ if __name__ == "__main__": ...@@ -311,6 +316,8 @@ if __name__ == "__main__":
action='store_true') action='store_true')
parser.add_argument('-c', '--config', help="toml configuration file, (default: %(default)s)", parser.add_argument('-c', '--config', help="toml configuration file, (default: %(default)s)",
default='tests/test.toml') default='tests/test.toml')
parser.add_argument('-i', '--instrument', nargs='?', choices=['CTD','XBT'],
help='specify the instrument that produce files, eg CTD, XBT, TSG, LADCP')
parser.add_argument('-k', '--keys', nargs='+', default=['PRES', 'TEMP', 'PSAL'], parser.add_argument('-k', '--keys', nargs='+', default=['PRES', 'TEMP', 'PSAL'],
help='display dictionary for key(s), (default: %(default)s)') help='display dictionary for key(s), (default: %(default)s)')
parser.add_argument('fname', nargs='*', parser.add_argument('fname', nargs='*',
...@@ -324,11 +331,14 @@ if __name__ == "__main__": ...@@ -324,11 +331,14 @@ if __name__ == "__main__":
logging.basicConfig( logging.basicConfig(
format='%(levelname)s:%(message)s', level=logging.DEBUG) format='%(levelname)s:%(message)s', level=logging.DEBUG)
fe = FileExtractor(args.fname, args.keys) fe = FileExtractor(args.fname, Roscop('code_roscop.csv'), args.keys)
print("File(s): {}, Config: {}".format(args.fname, args.config)) print("File(s): {}, Config: {}".format(args.fname, args.config))
cfg = toml.load(args.config) cfg = toml.load(args.config)
fe.set_regex(cfg, args.instrument)
fe.first_pass() fe.first_pass()
print("Indices: {} x {}\nkeys: {}".format(fe.n, fe.m, fe.keys)) print("Indices: {} x {}\nkeys: {}".format(fe.n, fe.m, fe.keys))
fe.second_pass(cfg, 'ctd') fe.second_pass(cfg, args.instrument, ['TIME', 'LATITUDE', 'LONGITUDE','BATH'])
# debug # debug
# print(fe.disp()) print(fe['PRES'])
print(fe['TEMP'])
print(fe['PSAL'])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment