source: ammosreader/sample_scripts/import_signal.py@ bfab5ea

AmmosSource guix
Last change on this file since bfab5ea was bfab5ea, checked in by Enrico Schwass <ennoausberlin@…>, 3 years ago

import script for ammos signal dirs added

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[bfab5ea]1import sys
2import re
3import sqlite3
4import argparse
5from pathlib import Path
6from ammosreader.AmmosIFReader import AmmosIFReader
7from ammosreader.PDW import PDW
8
9parser = argparse.ArgumentParser()
10parser.add_argument('-s', '--source', required=True, help='specify source for given signal')
11parser.add_argument('-i', '--input-dir', required=True, help='specify source directory')
12parser.add_argument('-o', '--output-file', required=True, help='specify sqlite3 database file')
13parser.add_argument('-n', '--signal-number', required=True, help='specify number for signal')
14parser.add_argument('-c', '--code', required=True, help='specify code for signal')
15
16args = parser.parse_args()
17
18code = args.code.upper()
19signal_number = args.signal_number
20input_dir = Path(args.input_dir)
21sqlite3_file = Path(args.output_file)
22
23if not re.match('[A-Z][0-9]{3}[A-Z]', code):
24 print("ELINT-Code incorrect")
25 sys.exit(1)
26
27if not re.match('[0-9]{4}', signal_number):
28 print("Signal number incorrect")
29 sys.exit(1)
30
31if not input_dir.is_dir():
32 print("Input dir invalid")
33 sys.exit(1)
34
35dir_name = input_dir.name
36
37files_inside = [each for each in (input_dir.iterdir()) if (each.suffix in ['.idx', '.iqdw', '.ppdw'] and each.stem == dir_name)]
38
39if len(files_inside) != 3:
40 print(".idx, .iqdw or .ppdw file missing in", input_dir)
41 sys.exit(1)
42
43iqdw_file = (input_dir / input_dir.stem).with_suffix('.iqdw')
44ppdw_file = (input_dir / input_dir.stem).with_suffix('.ppdw')
45idx_file = (input_dir / input_dir.stem).with_suffix('.idx')
46
47#if not sqlite3_file.is_file():
48# print("Sqlite3 database file not found at", sqlite3_file)
49# sys.exit(1)
50
51try:
52 connection = sqlite3.connect(str(sqlite3_file))
53 cursor = connection.cursor()
54except Exception:
55 print("Can not connect to database file", str(sqlite3_file))
56 # sys.exit(1)
57
58ammos_reader = AmmosIFReader(str(iqdw_file))
59ammos_reader.read_all_frames_left()
60print(ammos_reader.container)
Note: See TracBrowser for help on using the repository browser.