| #!/usr/bin/env bash |
| |
| set -euo pipefail |
|
|
| ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| PARENT="$(dirname "$ROOT")" |
| BUNDLE_NAME="query_entity_export_bundle" |
| OUT_DIR="${1:-$PARENT/${BUNDLE_NAME}_share}" |
| ARCHIVE="${OUT_DIR}.zip" |
|
|
| rm -rf "$OUT_DIR" |
| mkdir -p "$OUT_DIR" |
|
|
| rsync -a \ |
| --exclude '.venv-quickumls/' \ |
| --exclude '.venv/' \ |
| --exclude '.git/' \ |
| --exclude '.vscode/' \ |
| --exclude '__pycache__/' \ |
| --exclude '*.pyc' \ |
| --exclude 'results/query_entity_detections_*.json' \ |
| --exclude "${BUNDLE_NAME}_share/" \ |
| --exclude '*.zip' \ |
| "$ROOT/" "$OUT_DIR/" |
|
|
| |
| mkdir -p "$OUT_DIR/results" |
| touch "$OUT_DIR/results/.gitkeep" |
|
|
| cat > "$OUT_DIR/SHARE_README.txt" <<'EOF' |
| Query Entity Export Bundle — shared copy |
| ====================================== |
|
|
| This folder does NOT include .venv-quickumls (machine-specific). |
| Your colleague must create it locally: |
|
|
| cd query_entity_export_bundle_share |
| ./setup.sh |
| export ICD_QUICKUMLS_DATA_DIR="/path/to/quickumls_data" |
| ./run_export.sh --query "Type II Diabetes Mellitus Uncontrolled" |
|
|
| See README.md and SETUP.md for full instructions. |
|
|
| QuickUMLS data (~5 GB) is NOT bundled — each site must use their own |
| UMLS-licensed quickumls_data/ directory. |
| EOF |
|
|
| echo "Created shareable bundle: $OUT_DIR" |
| du -sh "$OUT_DIR" |
|
|
| if command -v zip >/dev/null 2>&1; then |
| rm -f "$ARCHIVE" |
| (cd "$PARENT" && zip -rq "$(basename "$ARCHIVE")" "$(basename "$OUT_DIR")") |
| echo "Created archive: $ARCHIVE ($(du -sh "$ARCHIVE" | cut -f1))" |
| else |
| echo "zip not found — folder only (no archive)." |
| fi |
|
|