Changeset 4180d6a in ammosreader for sample_scripts


Ignore:
Timestamp:
05/06/22 11:23:51 (3 years ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
AmmosSource, guix
Children:
1d0974d, a574a93
Parents:
94f7c24
Message:

Add pymongo import script

Location:
sample_scripts
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sample_scripts/import_signal.py

    r94f7c24 r4180d6a  
    33import sqlite3
    44import argparse
     5import numpy as np
     6from datetime import datetime
    57from pathlib import Path
     8from pymongo import MongoClient
    69from ammosreader.AmmosIFReader import AmmosIFReader
    710from ammosreader.PPDWReader import PPDWReader
     
    1619args = parser.parse_args()
    1720
     21source = args.source.upper()
    1822code = args.code.upper()
    1923signal_number = args.signal_number
    2024input_dir = Path(args.input_dir)
    2125sqlite3_file = Path(args.output_file)
     26
     27if not re.match('[A-Z0-9]{2}', source):
     28    print("Source identifier", source, "invalid")
     29    sys.exit()
    2230
    2331if not re.match('[A-Z][0-9]{3}[A-Z]', code):
     
    4957#    sys.exit(1)
    5058
    51 try:
    52     connection = sqlite3.connect(str(sqlite3_file))
    53     cursor = connection.cursor()
    54 except Exception:
    55     print("Can not connect to database file", str(sqlite3_file))
    56     # sys.exit(1)
     59# try:
     60#    connection = sqlite3.connect(str(sqlite3_file))
     61#    cursor = connection.cursor()
     62# except Exception:
     63#    print("Can not connect to database file", str(sqlite3_file))
     64     # sys.exit(1)
    5765
    58 ammos_if_reader = AmmosIFReader(str(iqdw_file))
    59 ammos_if_reader.read_all_frames_left()
     66#ammos_if_reader = AmmosIFReader(str(iqdw_file))
     67#ammos_if_reader.read_all_frames_left()
    6068# for each_frame in ammos_if_reader.container.global_frames:
    6169#    print(each_frame)
     
    6371ppdw_reader = PPDWReader(ppdw_file)
    6472ppdw_reader.read_all_frames_left()
    65 print(ppdw_reader.container)
     73
     74client = MongoClient('hackathon.kid.local', 27017)
     75
     76database = client['ELINT']
     77ts = (ppdw_reader.container.start_time() - np.datetime64('1970-01-01T00:00:00')) / np.timedelta64(1, 's')
     78time_tuple = datetime.utcfromtimestamp(ts).timetuple()
     79julian_date_string = str(time_tuple.tm_year)[2:] + str(time_tuple.tm_yday).zfill(3)
     80code_collection = database[code]
     81year_collection = code_collection[str(time_tuple.tm_year)]
     82source_collection = year_collection[source]
     83
     84
     85for each in ppdw_reader.container.signals:
     86    each_json = each.to_json()
     87    each_json['SIGNALNUMBER'] = signal_number
     88    each_json['JULIANDATE'] = julian_date_string
     89    # each_json['SOURCEFILE'] = str(ppdw_file)
     90    source_collection.insert_one(each_json)
  • sample_scripts/iqdw_reader.py

    r94f7c24 r4180d6a  
    1818    dat_file.read_all_frames_left()
    1919    print(dat_file.container)
     20
     21    for each in dat_file.container.global_frames:
     22        print(each)
Note: See TracChangeset for help on using the changeset viewer.