Download codex-rs/app-server/src/bin/notify_capture.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.29 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/bin/notify_capture.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/app-server/src/bin/notify_capture.rs
-
curl -L -o notify_capture.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/bin/notify_capture.rs
1.29 kB
| use std::env; | |
| use std::fs; | |
| use std::fs::File; | |
| use std::io::Write; | |
| use std::path::PathBuf; | |
| use anyhow::Context; | |
| use anyhow::Result; | |
| use anyhow::anyhow; | |
| use anyhow::bail; | |
| fn main() -> Result<()> { | |
| let mut args = env::args_os(); | |
| let _program = args.next(); | |
| let output_path = PathBuf::from( | |
| args.next() | |
| .ok_or_else(|| anyhow!("expected output path as first argument"))?, | |
| ); | |
| let payload = args | |
| .next() | |
| .ok_or_else(|| anyhow!("expected payload as final argument"))?; | |
| if args.next().is_some() { | |
| bail!("expected payload as final argument"); | |
| } | |
| let payload = payload.to_string_lossy(); | |
| let temp_path = PathBuf::from(format!("{}.tmp", output_path.display())); | |
| let mut file = File::create(&temp_path) | |
| .with_context(|| format!("failed to create {}", temp_path.display()))?; | |
| file.write_all(payload.as_bytes()) | |
| .with_context(|| format!("failed to write {}", temp_path.display()))?; | |
| file.sync_all() | |
| .with_context(|| format!("failed to sync {}", temp_path.display()))?; | |
| fs::rename(&temp_path, &output_path).with_context(|| { | |
| format!( | |
| "failed to move {} into {}", | |
| temp_path.display(), | |
| output_path.display() | |
| ) | |
| })?; | |
| Ok(()) | |
| } | |