MCPcopy Create free account
hub / github.com/brocode/fw / write_project

Function write_project

src/config/mod.rs:189–209  ·  view source on GitHub ↗
(project: &Project)

Source from the content-addressed store, hash-verified

187}
188
189pub fn write_project(project: &Project) -> Result<(), AppError> {
190 let paths = fw_path()?;
191 paths.ensure_base_exists()?;
192
193 let mut project_path = paths.projects;
194 project_path.push(PathBuf::from(&project.project_config_path));
195 std::fs::create_dir_all(&project_path)
196 .map_err(|e| AppError::RuntimeError(format!("Failed to create project config path '{}'. {}", project_path.to_string_lossy(), e)))?;
197
198 let mut project_file_path = project_path;
199 project_file_path.push(&project.name);
200
201 let mut buffer: File = File::create(&project_file_path)
202 .map_err(|e| AppError::RuntimeError(format!("Failed to create project config file '{}'. {}", project_file_path.to_string_lossy(), e)))?;
203 let serialized = toml::to_string_pretty(&project)?;
204
205 write!(buffer, "{}", CONF_MODE_HEADER)?;
206 write!(buffer, "{}", serialized)?;
207 write_example(&mut buffer, Project::example())?;
208 Ok(())
209}
210
211impl Config {
212 pub fn actual_path_to_project(&self, project: &Project) -> PathBuf {

Callers 11

add_entryFunction · 0.85
add_remoteFunction · 0.85
remove_remoteFunction · 0.85
update_entryFunction · 0.85
org_importFunction · 0.85
importFunction · 0.85
delete_tagFunction · 0.85
add_tagFunction · 0.85
remove_tagFunction · 0.85

Calls 3

fw_pathFunction · 0.85
write_exampleFunction · 0.85
ensure_base_existsMethod · 0.80

Tested by

no test coverage detected