Skip to content

Commit

Permalink
format
Browse files Browse the repository at this point in the history
  • Loading branch information
jonmmease committed Oct 16, 2024
1 parent aaa1a42 commit 5ab16b7
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 53 deletions.
8 changes: 1 addition & 7 deletions vegafusion-core/src/planning/parse_datetime.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,8 @@ use chrono::{
{DateTime, FixedOffset, NaiveDate, NaiveDateTime, NaiveTime, Offset, TimeZone, Timelike, Utc},
};
use regex::Regex;
use std::any::Any;
use std::{str::FromStr, sync::Arc};
use std::sync::Arc;
use vegafusion_common::arrow::array::{ArrayRef, StringArray, TimestampMillisecondArray};
use vegafusion_common::arrow::datatypes::{DataType, TimeUnit};
use vegafusion_common::datafusion_common::{DataFusionError, ScalarValue};
use vegafusion_common::datafusion_expr::{
ColumnarValue, ScalarUDF, ScalarUDFImpl, Signature, Volatility,
};

lazy_static! {
pub static ref ALL_STRF_DATETIME_ITEMS: Vec<StrftimeItems<'static>> = vec![
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
use chrono::{
format::{parse, Parsed, StrftimeItems},
{DateTime, FixedOffset, NaiveDate, NaiveDateTime, NaiveTime, Offset, TimeZone, Timelike, Utc},
};
use regex::Regex;
use std::any::Any;
use std::{str::FromStr, sync::Arc};
use vegafusion_common::arrow::array::{ArrayRef, StringArray, TimestampMillisecondArray};
Expand Down Expand Up @@ -119,38 +114,43 @@ lazy_static! {
pub static ref STR_TO_UTC_TIMESTAMP_UDF: ScalarUDF =
ScalarUDF::from(StrToUtcTimestampUDF::new());
}

#[test]
fn test_parse_datetime() {
let local_tz = Some(chrono_tz::Tz::America__New_York);
let utc = Some(chrono_tz::Tz::UTC);
let res = parse_datetime("2020-05-16T09:30:00+05:00", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2020-05-16T09:30:00", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2020-05-16T09:30:00", &local_tz).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2001/02/05 06:20", &local_tz).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2001/02/05 06:20", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2000-01-01T08:00:00.000Z", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");
#[cfg(test)]
mod tests {
use super::*;
use chrono::Utc;

#[test]
fn test_parse_datetime() {
let local_tz = Some(chrono_tz::Tz::America__New_York);
let utc = Some(chrono_tz::Tz::UTC);
let res = parse_datetime("2020-05-16T09:30:00+05:00", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2020-05-16T09:30:00", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2020-05-16T09:30:00", &local_tz).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2001/02/05 06:20", &local_tz).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2001/02/05 06:20", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");

let res = parse_datetime("2000-01-01T08:00:00.000Z", &utc).unwrap();
let utc_res = res.with_timezone(&Utc);
println!("res: {res}");
println!("utc_res: {utc_res}");
}
}
11 changes: 4 additions & 7 deletions vegafusion-runtime/src/task_graph/runtime.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,17 @@ use std::collections::HashMap;
use std::convert::{TryFrom, TryInto};
use std::panic::AssertUnwindSafe;
use std::sync::Arc;
use vegafusion_common::data::scalar::ScalarValueHelpers;
use vegafusion_common::data::table::VegaFusionTable;
use vegafusion_core::data::dataset::VegaFusionDataset;
use vegafusion_core::error::{Result, ResultWithContext, ToExternalError, VegaFusionError};
use vegafusion_core::planning::apply_pre_transform::apply_pre_transform_datasets;
use vegafusion_core::planning::destringify_selection_datetimes::destringify_selection_datetimes;
use vegafusion_core::planning::plan::{PlannerConfig, SpecPlan};
use vegafusion_core::planning::stitch::CommPlan;
use vegafusion_core::planning::watch::{
ExportUpdateArrow, ExportUpdateJSON, ExportUpdateNamespace,
ExportUpdateArrow, ExportUpdateNamespace,
};
use vegafusion_core::proto::gen::errors::error::Errorkind;
use vegafusion_core::proto::gen::errors::{Error, TaskGraphValueError};
use vegafusion_core::proto::gen::pretransform::pre_transform_spec_warning::WarningType;
use vegafusion_core::proto::gen::pretransform::pre_transform_values_warning::WarningType as ValuesWarningType;
use vegafusion_core::proto::gen::pretransform::{
pre_transform_extract_warning, PlannerWarning,
Expand All @@ -30,8 +27,8 @@ use vegafusion_core::proto::gen::pretransform::{
PreTransformValuesRequest, PreTransformValuesResponse, PreTransformValuesWarning,
};
use vegafusion_core::proto::gen::pretransform::{
PreTransformBrokenInteractivityWarning, PreTransformRowLimitWarning, PreTransformSpecRequest,
PreTransformSpecResponse, PreTransformUnsupportedWarning,
PreTransformRowLimitWarning, PreTransformSpecRequest,
PreTransformSpecResponse,
};
use vegafusion_core::proto::gen::services::{
pre_transform_extract_result, pre_transform_spec_result, pre_transform_values_result,
Expand All @@ -40,7 +37,7 @@ use vegafusion_core::proto::gen::services::{
};
use vegafusion_core::proto::gen::tasks::{
task::TaskKind, InlineDataset, NodeValueIndex, ResponseTaskValue, TaskGraph,
TaskGraphValueResponse, TaskValue as ProtoTaskValue, TzConfig, Variable, VariableNamespace,
TaskGraphValueResponse, TaskValue as ProtoTaskValue, TzConfig, VariableNamespace,
};
use vegafusion_core::runtime::VegaFusionRuntimeTrait;
use vegafusion_core::spec::chart::ChartSpec;
Expand Down

0 comments on commit 5ab16b7

Please sign in to comment.