Commit 6ce87988 authored by Grant, Josh's avatar Grant, Josh
Browse files

add some scripts

parent e69bd464
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@
import os
import subprocess

from pygarden.cli.static import BANNER

try:
    import click
except ImportError:
@@ -17,7 +19,7 @@ except ImportError:
@click.group()
def common_cli():
    """pyGARDEN (General Application Resource Development Environment Network) CLI."""
    pass
    click.echo(BANNER)


# noqa: PEP402
+21 −0
Original line number Diff line number Diff line
BANNER = """
              ____    _    ____  ____  _____ _   _
 _ __  _   _ / ___|  / \  |  _ \|  _ \| ____| \ | |
| '_ \| | | | |  _  / _ \ | |_) | | | |  _| |  \| |
| |_) | |_| | |_| |/ ___ \|  _ <| |_| | |___| |\  |
| .__/ \__, |\____/_/   \_\_| \_\____/|_____|_| \_|
|_|    |___/       ,@@@@@@@,
           ,,,.   ,@@@@@@/@@,  .oo8888o.
        ,&%%&%&&%,@@@@@/@@@@@@,8888\88/8o
       ,%&\%&&%&&%,@@@\@@@/@@@88\88888/88'
       %&&%&%&/%&&%@@\@@/ /@@@88888\88888'
       %&&%/ %&%%&&@@\ V /@@' \`88\8 \`/88'
       \`&%\ \` /%&'    |.|        \ '|8'
   *       |o|        | |         | |
   |       |.|        | |         | |
  \|/  \\/ ._\//_/__/  ,\_//__\\/.  \_//__/_
"""


if __name__ == "__main__":
    print(BANNER)
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -5,4 +5,4 @@ index-servers =
[gitlab]
repository = https://code.ornl.gov/api/v4/projects/10568/packages/pypi
username = __token__
password = 3t2LFTptHcudHsKRsgr8
password = Y73hHWeDNPfubGrr2EcF
+7 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ authors = [
    {name = "Jacob Isber", email = "isberj@ornl.gov"},
]
# update version information here
version = "0.3.7"
version = "0.3.8"
description = "Package to perform everyday tasks - logging, accessing database, etc."
readme = "README.md"
requires-python = ">=3.9,<4.0"
@@ -95,5 +95,11 @@ Source = "https://code.ornl.gov/nset-utilities/common-package"
[tool.setuptools]
packages = ['pygarden', 'pygarden.mixins', 'pygarden.scrapers', 'pygarden.cli']

[dependency-groups]
dev = [
    "pip>=24.3.1",
    "twine>=5.1.1",
]

[project.scripts]
garden = "pygarden.cli:common_cli"

src/scripts/dumpdb

0 → 100755
+77 −0
Original line number Diff line number Diff line
#!/bin/sh

# Default values for optional parameters
DB_USER="sradmin"
DB_HOST="/home/postgres/pgdata/data"
DB_NAME="securegrid"
OUTPUT_DIR="./"
DOCKER_CMD="docker-compose"
TABLES=""

# Function to check if 'docker compose' or 'docker-compose' should be used
determine_docker_command() {
    if command -v docker-compose >/dev/null 2>&1; then
        DOCKER_CMD="docker-compose"
    elif docker compose version >/dev/null 2>&1; then
        DOCKER_CMD="docker compose"
    else
        echo "Error: Neither 'docker-compose' nor 'docker compose' is available." >&2
        exit 1
    fi
}

# Parse command-line arguments
while [ "$#" -gt 0 ]; do
    case "$1" in
        --table)
            TABLES="$2"
            shift 2
            ;;
        --user)
            DB_USER="$2"
            shift 2
            ;;
        --host)
            DB_HOST="$2"
            shift 2
            ;;
        --database)
            DB_NAME="$2"
            shift 2
            ;;
        --output-dir)
            OUTPUT_DIR="$2"
            shift 2
            ;;
        --help|-h)
            echo "Usage: $0 [options]"
            echo "Options:"
            echo "  --user USER          Database user (default: $DB_USER)"
            echo "  --host HOST          Database host (default: $DB_HOST)"
            echo "  --database DB_NAME   Database name (default: $DB_NAME)"
            echo "  --output-dir DIR     Output directory for the backup (default: $OUTPUT_DIR)"
            echo "  --help, -h           Show this help message"
            exit 0
            ;;
        *)
            echo "Unknown argument: $1" >&2
            exit 1
            ;;
    esac
done

# Determine which Docker command to use
determine_docker_command

BACKUP_FILE="/tmp/${DB_NAME}-${TABLES}-$(date +%F).backup"
# Perform the database dump
if [ -n "$TABLES" ]; then
  $DOCKER_CMD exec db pg_dump -U "$DB_USER" -h "$DB_HOST" -d "$DB_NAME" --format=custom -t "$TABLES" -f "$BACKUP_FILE"
else
  $DOCKER_CMD exec db pg_dump -U "$DB_USER" -h "$DB_HOST" -d "$DB_NAME" --format=custom -f "$BACKUP_FILE"
fi

# Copy the backup to the local machine
$DOCKER_CMD cp db:"$BACKUP_FILE" "$OUTPUT_DIR"

echo "Backup completed. File saved to: $OUTPUT_DIR/${DB_NAME}-$(date +%F).backup"
Loading