Skip to content
Snippets Groups Projects
Commit 8049f089 authored by Klaas Kliffen's avatar Klaas Kliffen :satellite:
Browse files

Rename to atdb_csv_gen & log extra files

parent f9545281
No related branches found
No related tags found
No related merge requests found
# LDV Utility scripts # LDV Utility scripts
## CSV Gen ## ATDB CSV Gen
Generates csv input files for the `atdb_load_tasks_from_table` script. Generates csv input files for the `atdb_load_tasks_from_table` script.
### Installation ### Installation
```bash ```bash
# Using pipenv (update python version if necessary) # Using pipenv (update python version if necessary)
cd csv_gen cd atdb_csv_gen
pipenv install pipenv install
# or using pip (optional, use a virtual env) # or using pip (optional, use a virtual env)
cd csv_gen cd atdb_csv_gen
pip install -r requirements.txt pip install -r requirements.txt
# or using docker # or using docker
docker-build -t ldv-csv-gen csv_gen/ docker-build -t ldv-atdb-csv-gen csv_gen/
``` ```
### Running ### Running
```bash ```bash
# copy .env.example to .env and fill in the environment vars (DB credentials) # copy .env.example to .env and fill in the environment vars (DB credentials)
cp ./csv_gen/.env.example ./csv_gen/.env cp ./atdb_csv_gen/.env.example ./atdb_csv_gen/.env
# run using pipenv # run using pipenv
cd csv_gen cd atdb_csv_gen
pipenv shell # this will use the .env file to set environment variables pipenv shell # this will use the .env file to set environment variables
./csv_gen.py -v -o out.csv 650273 ./csv_gen.py -v -o out.csv 650273
# run using python (note) # run using python (note)
cd csv_gen cd atdb_csv_gen
export $(cat .env | xargs) # or export env vars elsewhere export $(cat .env | xargs) # or export env vars elsewhere
./csv_gen.py -v -o out.csv 650273 ./csv_gen.py -v -o out.csv 650273
# run in docker (creates out.csv in outdir) # run in docker (creates out.csv in outdir)
docker run -it --rm --env-file csv_gen/.env -v $PWD/outdir:/outdir ldv-csv-gen /app/csv_gen.py -v -o /outdir/out.csv 650273 docker run -it --rm --env-file atdb_csv_gen/.env -v $PWD/outdir:/outdir ldv-atdb-csv-gen /app/csv_gen.py -v -o /outdir/out.csv 650273
# more info and flags # more info and flags
docker run -it --rm ldv-csv-gen docker run -it --rm ldv-atdb-csv-gen
``` ```
### Caveats ### Caveats
......
File moved
File moved
File moved
File moved
#!/usr/bin/env python3 #!/usr/bin/env python3
# SPDX-License-Identifier: Apache-2.0
import logging import logging
import os import os
from argparse import ArgumentParser, Namespace from argparse import ArgumentParser, Namespace
from sys import version from sys import version
from typing import Generator, Iterator, List, Optional, Tuple from typing import Iterator, List, Optional, Tuple
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy.engine.base import Connection from sqlalchemy.engine.base import Connection
...@@ -24,6 +25,7 @@ def parse_args() -> Namespace: ...@@ -24,6 +25,7 @@ def parse_args() -> Namespace:
parser = ArgumentParser(description="Generates CSV for atdb_load_tasks_from_table") parser = ArgumentParser(description="Generates CSV for atdb_load_tasks_from_table")
parser.add_argument("obs_id", help="Observation ID (SAS ID)") parser.add_argument("obs_id", help="Observation ID (SAS ID)")
parser.add_argument("-o", help="Output file") parser.add_argument("-o", help="Output file")
parser.add_argument("--save-missing", help="Directory to store csc with missing files")
parser.add_argument("-v", action="store_true", help="Verbose logging") parser.add_argument("-v", action="store_true", help="Verbose logging")
parser.add_argument("-q", action="store_true", help="Quiet logging (only errors)") parser.add_argument("-q", action="store_true", help="Quiet logging (only errors)")
return parser.parse_args() return parser.parse_args()
...@@ -82,13 +84,15 @@ def main(obs_id: str, o_file: Optional[str]): ...@@ -82,13 +84,15 @@ def main(obs_id: str, o_file: Optional[str]):
reg_no_file = reg_data.difference(cra_data) reg_no_file = reg_data.difference(cra_data)
if len(reg_no_file) > 0: if len(reg_no_file) > 0:
logger.warning("Observation contains %i registered files which are not present on disk", len(reg_no_file)) logger.warning("Observation contains %i registered files which are not present on disk", len(reg_no_file))
# TODO: write to csv file? for row in reg_no_file:
logger.warning(row)
# File found, not registered # File found, not registered
file_no_reg = cra_data.difference(reg_data) file_no_reg = cra_data.difference(reg_data)
if len(file_no_reg) > 0: if len(file_no_reg) > 0:
logger.warning("Observation contains %i files on disk which are not registered in the LTA", len(file_no_reg)) logger.warning("Observation contains %i files on disk which are not registered in the LTA", len(file_no_reg))
# TODO: write to csv file? for row in file_no_reg:
logger.warning(row)
inter = reg_data.intersection(cra_data) inter = reg_data.intersection(cra_data)
......
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment