Refactor GF3 L1A to L2 pipeline

This commit is contained in:
2026-05-03 15:41:08 +08:00
commit 46474274c2
26 changed files with 1310 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
"""Compatibility wrapper for archive extraction."""
from __future__ import annotations
import argparse
import sys
from pathlib import Path
_SRC = Path(__file__).resolve().parent / "src"
if _SRC.is_dir():
sys.path.insert(0, str(_SRC))
from gf3_l1a2l2.decompress import extract_compressed_files
def main() -> int:
parser = argparse.ArgumentParser(description="Extract GF3 archives")
parser.add_argument("input", type=Path, help="folder containing .tar.gz or .zip archives")
parser.add_argument("--overwrite", action="store_true", help="overwrite existing extracted folders")
args = parser.parse_args()
results = extract_compressed_files(args.input, overwrite=args.overwrite)
failed = [item for item in results if item.status == "failed"]
for item in results:
print(f"{item.status}\t{item.archive}\t{item.output_dir}\t{item.message}")
return 1 if failed else 0
if __name__ == "__main__":
raise SystemExit(main())