Skip to content

Commit a3e51ee

Browse files
backend: bin: src: Expand and resolve CLI args
1 parent 7ae1265 commit a3e51ee

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

backend/bin/src/cli.rs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,17 @@ pub fn command_line() -> String {
127127
#[instrument(level = "debug")]
128128
pub async fn web_server() -> std::net::SocketAddr {
129129
let address = &args().web_server;
130+
let address = shellexpand::full(&address).unwrap().to_string();
130131

131-
resolve_address(address).await.unwrap()
132+
resolve_address(&address).await.unwrap()
132133
}
133134

134135
#[instrument(level = "debug")]
135136
pub async fn mcm_address() -> std::net::SocketAddr {
136137
let address = &args().mcm_address;
138+
let address = shellexpand::full(&address).unwrap().to_string();
137139

138-
resolve_address(address).await.unwrap()
140+
resolve_address(&address).await.unwrap()
139141
}
140142

141143
#[instrument(level = "debug")]
@@ -160,7 +162,7 @@ pub fn autopilot_scripts_file() -> String {
160162
pub fn settings_file() -> String {
161163
let settings_file = args().settings_file.clone();
162164

163-
shellexpand::full(&settings_file)
165+
shellexpand::full(&*&settings_file)
164166
.expect("Failed to expand path")
165167
.to_string()
166168
}
@@ -171,8 +173,15 @@ pub fn is_reset() -> bool {
171173
}
172174

173175
#[instrument(level = "debug")]
174-
pub fn mavlink_connection_string() -> String {
175-
args().mavlink.clone()
176+
pub async fn mavlink_connection_string() -> String {
177+
let mavlink = args().mavlink.clone();
178+
let mavlink = shellexpand::full(&mavlink).unwrap();
179+
180+
let (kind, address) = mavlink.split_once(":").unwrap();
181+
182+
let address = resolve_address(address).await.unwrap();
183+
184+
format!("{kind}:{}", address.to_string())
176185
}
177186

178187
#[instrument(level = "debug")]

backend/bin/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ async fn main() -> Result<()> {
3333

3434
autopilot::init(
3535
cli::autopilot_scripts_file(),
36-
cli::mavlink_connection_string(),
36+
cli::mavlink_connection_string().await,
3737
cli::mavlink_system_id(),
3838
cli::mavlink_component_id(),
3939
)

0 commit comments

Comments
 (0)