summaryrefslogtreecommitdiff
path: root/rust/actualbudget_to_schist_transformer/src/run.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-11-27 18:44:23 +0000
committerJoe Carstairs <me@joeac.net>2024-11-27 18:44:23 +0000
commit817f6cb7e48e2517dd1612c14357d9aa066a9e53 (patch)
treeb70feb6250bdd65764612aed90938e567bdb9723 /rust/actualbudget_to_schist_transformer/src/run.rs
parentb9612b1dfa275be6649f2b54517aac4574f0efc4 (diff)
AB transformer takes DB urls as command line arguments
Diffstat (limited to 'rust/actualbudget_to_schist_transformer/src/run.rs')
-rw-r--r--rust/actualbudget_to_schist_transformer/src/run.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/rust/actualbudget_to_schist_transformer/src/run.rs b/rust/actualbudget_to_schist_transformer/src/run.rs
index 77f0e45..3c88589 100644
--- a/rust/actualbudget_to_schist_transformer/src/run.rs
+++ b/rust/actualbudget_to_schist_transformer/src/run.rs
@@ -1,11 +1,19 @@
-use anyhow::Result;
+use anyhow::{Context, Result};
use diesel::{Connection, SqliteConnection};
use crate::{actualbudget_state::read_actualbudget_state, schist_state::export_schist_state, transform_state::transform_state};
-pub fn run() -> Result<()> {
- let actualbudget_connection = &mut SqliteConnection::establish("in.sqlite").unwrap();
- let schist_connection = &mut SqliteConnection::establish("out.sqlite").unwrap();
+pub fn run(in_db_url: &str, out_db_url: &str) -> Result<()> {
+ let actualbudget_connection = &mut SqliteConnection::establish(in_db_url)
+ .with_context(|| format!(
+ "failed to establish connection to input database at {}",
+ in_db_url,
+ ))?;
+ let schist_connection = &mut SqliteConnection::establish(out_db_url)
+ .with_context(|| format!(
+ "failed to establish connection to output database at {}",
+ out_db_url,
+ ))?;
let actualbudget_state = read_actualbudget_state(actualbudget_connection)?;
let schist_state = transform_state(actualbudget_state)?;