audb_core/features/device/
select.rs1use crate::features::config::{device_store::DeviceStore, state::DeviceState};
2use crate::tools::types::DeviceIdentifier;
3use anyhow::{anyhow, Result};
4
5pub async fn execute(identifier: &str) -> Result<()> {
6 let device_id = DeviceIdentifier::parse(identifier);
7 let device = DeviceStore::find(&device_id)?;
8
9 if !device.enabled {
10 return Err(anyhow!("Device is disabled. Cannot select disabled devices."));
11 }
12
13 DeviceState::set_current(&device.host)?;
14
15 println!("\x1b[1m\x1b[32msuccess\x1b[0m: Selected device: {}", device.display_name());
16 println!(" Host: {}", device.host);
17 println!(" Port: {}", device.port);
18 println!(" Platform: {}", device.platform);
19
20 Ok(())
21}