From f4731e6c18c75761d35fceddd409c381b96c5af9 Mon Sep 17 00:00:00 2001 From: Xiaoran Date: Mon, 18 Mar 2024 17:15:56 -0700 Subject: [PATCH] Add function add_schema_metadata for local repository --- .DS_Store | Bin 0 -> 6148 bytes oxen/Cargo.lock | 4 +--- oxen/python/oxen/local_repo.py | 7 +++++++ oxen/src/py_local_repo.rs | 21 +++++++++++++++++++++ 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3f716695dc148592a705d963205a8ffccaec1bd4 GIT binary patch literal 6148 zcmeH~F>b>!3`IX%4*|M(?5HIN=naG*JwY!Jq{$Y Result<(), PyOxenError> { + let repo = LocalRepository::from_dir(&self.path)?; + + // make sure metadata is valid json, return oxen error if not + let metadata: serde_json::Value = serde_json::from_str(metadata.as_ref()).map_err(|e| { + OxenError::basic_str(format!( + "Metadata must be valid JSON: ''\n{}", + // metadata.as_ref(), + e + )) + })?; + + for (path, schema) in + command::schemas::add_column_metadata(&repo, path, column, &metadata)? + { + println!("{:?}\n{}", path, schema.verbose_str()); + } + + Ok(()) + } + pub fn rm(&self, path: PathBuf, recursive: bool, staged: bool, remote: bool) -> Result<(), PyOxenError> { let repo = LocalRepository::from_dir(&self.path)?; let rm_opts = RmOpts {