aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.rs34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index 28d2f6f..f0c11a2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,16 +1,40 @@
use rusqlite;
-use yaml_rust;
+use yaml_rust::yaml;
fn main() {
println!("Hello, world!");
+ // Get column names from SQLite
+
let text_data = std::fs::read_to_string("test.yml").unwrap();
- {
- use yaml_rust::YamlLoader;
+ let yaml_data = yaml::YamlLoader::load_from_str(&text_data).unwrap();
+
+ for doc in &yaml_data {
+ yaml_extract(&doc);
+ }
+
+ dbg!(yaml_data);
+}
+
+fn yaml_extract(doc: &yaml::Yaml) {
+ match doc {
+ yaml::Yaml::Array(ref array) => {
+ for yaml_value in array {
+ yaml_extract(yaml_value);
+ }
+ }
+ yaml::Yaml::Hash(ref hash) => {
+ // Begin transaction
+ for (k, v) in hash {
+ // TODO: Put k,v in a HashMap prepared for SQLite interfacing
+ dbg!(k, v);
- let yaml_data = YamlLoader::load_from_str(&text_data).unwrap();
+ // Each hash is a new record for SQLite insertion
- dbg!(yaml_data);
+ // If key matches a column name, add it to the insert statement
+ }
+ }
+ _ => {}
}
}