parent
f46e53000d
commit
c5eb5dba4f
@ -0,0 +1,8 @@
|
||||
import env_canada
|
||||
print("Contents of env_canada:")
|
||||
print(dir(env_canada))
|
||||
try:
|
||||
from env_canada import ECData
|
||||
print("ECData found!")
|
||||
except ImportError:
|
||||
print("ECData NOT found.")
|
||||
@ -0,0 +1,59 @@
|
||||
$Server = "192.168.50.150"
|
||||
$User = Read-Host "Enter SSH Username for $Server (e.g. repeater or root)"
|
||||
|
||||
Write-Host "1. Packing files..."
|
||||
# Create a tarball to avoid copying .git, venv, and permission issues
|
||||
# Windows tar supports exclusions
|
||||
tar --exclude ".git" --exclude "venv" --exclude "__pycache__" -cf package.tar .
|
||||
|
||||
Write-Host "2. Transferring package..."
|
||||
scp package.tar "$($User)@$($Server):~"
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Error "SCP failed. Please check connectivity and credentials."
|
||||
exit
|
||||
}
|
||||
|
||||
Write-Host "3. Installing System Dependencies and Python Environment..."
|
||||
# Updated remote script to handle tar unpacking
|
||||
$RemoteScript = @'
|
||||
echo '--- unpacking ---'
|
||||
mkdir -p ~/asl3_wx_announce
|
||||
mv ~/package.tar ~/asl3_wx_announce/
|
||||
cd ~/asl3_wx_announce
|
||||
tar -xf package.tar
|
||||
rm package.tar
|
||||
|
||||
|
||||
echo '--- Fixing Hostname ---'
|
||||
sudo bash -c 'grep -q "$(hostname)" /etc/hosts || echo "127.0.0.1 $(hostname)" >> /etc/hosts'
|
||||
|
||||
echo '--- Updating Apt ---'
|
||||
sudo apt update
|
||||
sudo apt install -y python3-pip python3-venv libttspico-utils gpsd sox libsox-fmt-all
|
||||
|
||||
echo '--- Setting up Venv ---'
|
||||
cd ~/asl3_wx_announce
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
|
||||
echo '--- Installing Python Libs ---'
|
||||
pip install -r requirements.txt
|
||||
|
||||
echo '--- DEBUG ENV_CANADA ---'
|
||||
./venv/bin/python3 debug_ec.py
|
||||
|
||||
echo '--- Running Test Report ---'
|
||||
# Run using the venv python
|
||||
sudo ./venv/bin/python3 -m asl3_wx_announce.main --config config.yaml --report
|
||||
'@
|
||||
|
||||
# Sanitize script for Linux (Remove Carriage Returns)
|
||||
$RemoteScript = $RemoteScript -replace "`r", ""
|
||||
|
||||
# Base64 Encode to avoid quoting hell
|
||||
$ScriptBytes = [System.Text.Encoding]::UTF8.GetBytes($RemoteScript)
|
||||
$ScriptBase64 = [Convert]::ToBase64String($ScriptBytes)
|
||||
|
||||
# Execute via base64 decode
|
||||
ssh -t "$($User)@$($Server)" "echo $ScriptBase64 | base64 -d | bash"
|
||||
Loading…
Reference in new issue