-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Expand file tree
/
Copy pathinsert_patch_import.sh
More file actions
33 lines (29 loc) · 986 Bytes
/
insert_patch_import.sh
File metadata and controls
33 lines (29 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env bash
# add_patch_import.sh - Ensure monkey-patch loader is added to client/__init__.py
SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")
pushd "${SCRIPT_ROOT}" > /dev/null
SCRIPT_ROOT=`pwd`
popd > /dev/null
CLIENT_ROOT="${SCRIPT_ROOT}/../kubernetes"
CONFIG_PATH="$CLIENT_ROOT/client"
CONFIG_FILE="$CONFIG_PATH/__init__.py"
# Normalize Windows-style backslashes to Unix-style forward slashes
CONFIG_FILE="$(echo "$CONFIG_FILE" | sed 's|\\|/|g')"
# Ensure file exists
if [ ! -f "$CONFIG_FILE" ]; then
echo "Error: $CONFIG_FILE does not exist." >&2
exit 1
fi
PATCH_SNIPPET='try:
import kubernetes.client.helpers.patch as _patch
_patch.apply_patch()
except ImportError:
pass'
# Check if snippet already exists
if grep -q "your_project.k8s_helpers.patch" "$CONFIG_FILE"; then
echo "Patch snippet already present in $CONFIG_FILE, skipping."
else
echo "" >> "$CONFIG_FILE"
echo "$PATCH_SNIPPET" >> "$CONFIG_FILE"
echo "Patch snippet added to $CONFIG_FILE."
fi