Skip to content

Commit 1c69346

Browse files
committed
To avoid condition self.no_proxy is already present
1 parent 9c35894 commit 1c69346

File tree

1 file changed

+37
-20
lines changed

1 file changed

+37
-20
lines changed

scripts/insert_proxy_config.sh

Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,27 +31,44 @@ else
3131
echo "'import os' already present; no changes made."
3232
fi
3333

34-
# --- Step 2: Insert proxy & no_proxy environment code (idempotent) ---
34+
# --- Step 2: Insert proxy & no_proxy environment code ---
3535
if ! grep -q 'os.getenv("HTTPS_PROXY"' "$CONFIG_FILE"; then
36-
LINE=$(grep -n "self.proxy = None" "$CONFIG_FILE" | cut -d: -f1)
37-
if [ -n "$LINE" ]; then
38-
INDENT=$(sed -n "${LINE}s/^\( *\).*/\1/p" "$CONFIG_FILE")
39-
40-
# Build the insertion block with correct indentation
41-
42-
BLOCK+="${INDENT}# Load proxy from environment variables (if set)\n"
43-
BLOCK+="${INDENT}if os.getenv(\"HTTPS_PROXY\"): self.proxy = os.getenv(\"HTTPS_PROXY\")\n"
44-
BLOCK+="${INDENT}if os.getenv(\"https_proxy\"): self.proxy = os.getenv(\"https_proxy\")\n"
45-
BLOCK+="${INDENT}if os.getenv(\"HTTP_PROXY\"): self.proxy = os.getenv(\"HTTP_PROXY\")\n"
46-
BLOCK+="${INDENT}if os.getenv(\"http_proxy\"): self.proxy = os.getenv(\"http_proxy\")\n"
47-
BLOCK+="${INDENT}self.no_proxy = None\n"
48-
BLOCK+="${INDENT}# Load no_proxy from environment variables (if set)\n"
49-
BLOCK+="${INDENT}if os.getenv(\"NO_PROXY\"): self.no_proxy = os.getenv(\"NO_PROXY\")\n"
50-
BLOCK+="${INDENT}if os.getenv(\"no_proxy\"): self.no_proxy = os.getenv(\"no_proxy\")"
51-
52-
# Insert the block after the proxy default line
53-
sed -i "${LINE}a $BLOCK" "$CONFIG_FILE"
54-
echo "Proxy and no_proxy environment code inserted into $CONFIG_FILE."
36+
PROXY_LINE=$(grep -n "self.proxy = None" "$CONFIG_FILE" | cut -d: -f1)
37+
NO_PROXY_LINE=$(grep -n "^[[:space:]]*self\.no_proxy[[:space:]]*=[[:space:]]*None" "$CONFIG_FILE" | cut -d: -f1)
38+
39+
if [ -n "$PROXY_LINE" ]; then
40+
INDENT=$(sed -n "${PROXY_LINE}s/^\( *\).*/\1/p" "$CONFIG_FILE")
41+
42+
BLOCK=""
43+
44+
if [ -z "$NO_PROXY_LINE" ]; then
45+
# self.no_proxy = None is not present → insert full block after self.proxy = None
46+
BLOCK+="${INDENT}# Load proxy from environment variables (if set)\n"
47+
BLOCK+="${INDENT}if os.getenv(\"HTTPS_PROXY\"): self.proxy = os.getenv(\"HTTPS_PROXY\")\n"
48+
BLOCK+="${INDENT}if os.getenv(\"https_proxy\"): self.proxy = os.getenv(\"https_proxy\")\n"
49+
BLOCK+="${INDENT}if os.getenv(\"HTTP_PROXY\"): self.proxy = os.getenv(\"HTTP_PROXY\")\n"
50+
BLOCK+="${INDENT}if os.getenv(\"http_proxy\"): self.proxy = os.getenv(\"http_proxy\")\n"
51+
BLOCK+="${INDENT}self.no_proxy = None\n"
52+
BLOCK+="${INDENT}# Load no_proxy from environment variables (if set)\n"
53+
BLOCK+="${INDENT}if os.getenv(\"NO_PROXY\"): self.no_proxy = os.getenv(\"NO_PROXY\")\n"
54+
BLOCK+="${INDENT}if os.getenv(\"no_proxy\"): self.no_proxy = os.getenv(\"no_proxy\")"
55+
56+
sed -i "${PROXY_LINE}a $BLOCK" "$CONFIG_FILE"
57+
echo "Inserted full proxy + no_proxy block after 'self.proxy = None'."
58+
else
59+
# self.no_proxy = None exists → insert only env logic after that
60+
BLOCK+="${INDENT}# Load proxy from environment variables (if set)\n"
61+
BLOCK+="${INDENT}if os.getenv(\"HTTPS_PROXY\"): self.proxy = os.getenv(\"HTTPS_PROXY\")\n"
62+
BLOCK+="${INDENT}if os.getenv(\"https_proxy\"): self.proxy = os.getenv(\"https_proxy\")\n"
63+
BLOCK+="${INDENT}if os.getenv(\"HTTP_PROXY\"): self.proxy = os.getenv(\"HTTP_PROXY\")\n"
64+
BLOCK+="${INDENT}if os.getenv(\"http_proxy\"): self.proxy = os.getenv(\"http_proxy\")\n"
65+
BLOCK+="${INDENT}# Load no_proxy from environment variables (if set)\n"
66+
BLOCK+="${INDENT}if os.getenv(\"NO_PROXY\"): self.no_proxy = os.getenv(\"NO_PROXY\")\n"
67+
BLOCK+="${INDENT}if os.getenv(\"no_proxy\"): self.no_proxy = os.getenv(\"no_proxy\")"
68+
69+
sed -i "${NO_PROXY_LINE}a $BLOCK" "$CONFIG_FILE"
70+
echo "Inserted environment block after 'self.no_proxy = None'."
71+
fi
5572
else
5673
echo "Warning: 'self.proxy = None' not found in $CONFIG_FILE. No proxy code inserted."
5774
fi

0 commit comments

Comments
 (0)