(dir: &Path)
| 115 | } |
| 116 | |
| 117 | pub async fn run(dir: &Path) -> Result<()> { |
| 118 | storage::setup().await?; |
| 119 | info!(path = ?dir, "Import LoRaWAN device profiles"); |
| 120 | |
| 121 | let vendors_dir = dir.join("vendors"); |
| 122 | let vendors = fs::read_dir(vendors_dir)?; |
| 123 | |
| 124 | for vendor in vendors.flatten() { |
| 125 | if vendor.file_name() == "example-vendor" { |
| 126 | continue; |
| 127 | } |
| 128 | |
| 129 | let span = span!(Level::INFO, "", vendor = ?vendor.file_name()); |
| 130 | |
| 131 | let vendor_dir = vendor.path(); |
| 132 | if vendor_dir.is_dir() { |
| 133 | handle_vendor(&vendor_dir).instrument(span).await?; |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | Ok(()) |
| 138 | } |
| 139 | |
| 140 | async fn handle_vendor(dir: &Path) -> Result<()> { |
| 141 | let vendor_conf = dir.join("vendor.toml"); |
nothing calls this directly
no test coverage detected