Skip to content

Commit 99d438c

Browse files
authored
Merge 51f5363 into be083c6
2 parents be083c6 + 51f5363 commit 99d438c

File tree

15 files changed

+108
-67
lines changed

15 files changed

+108
-67
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kind: Fixes
2+
body: Make modules.re methods accept an already compiled pattern
3+
time: 2025-08-24T23:40:19.408475+02:00

crates/dbt-jinja/minijinja-contrib/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
[package]
22
name = "minijinja-contrib"
33
version = "2.5.0"
4-
edition = "2021"
4+
edition = "2024"
55
license = "Apache-2.0"
66
authors = ["Armin Ronacher <[email protected]>"]
77
description = "Extra utilities for MiniJinja"
88
homepage = "https://github.com/mitsuhiko/minijinja"
99
repository = "https://github.com/mitsuhiko/minijinja"
1010
keywords = ["jinja", "jinja2", "templates"]
1111
readme = "README.md"
12-
rust-version = "1.70"
12+
rust-version = "1.88.0"
1313

1414
[package.metadata.docs.rs]
1515
rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "doc-header.html"]

crates/dbt-jinja/minijinja-contrib/src/filters/datetime.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ use std::convert::TryFrom;
22

33
use minijinja::value::{Kwargs, Value, ValueKind};
44
use minijinja::{Error, ErrorKind, State};
5-
use serde::de::value::SeqDeserializer;
65
use serde::Deserialize;
6+
use serde::de::value::SeqDeserializer;
77
use time::format_description::well_known::iso8601::Iso8601;
8-
use time::{format_description, Date, OffsetDateTime, PrimitiveDateTime};
8+
use time::{Date, OffsetDateTime, PrimitiveDateTime, format_description};
99

1010
fn handle_serde_error(err: serde::de::value::Error) -> Error {
1111
Error::new(ErrorKind::InvalidOperation, "not a valid date or timestamp").with_source(err)
@@ -39,7 +39,7 @@ fn value_to_datetime(
3939
ErrorKind::InvalidOperation,
4040
"not a valid date or timestamp",
4141
)
42-
.with_source(original_err))
42+
.with_source(original_err));
4343
}
4444
},
4545
},

crates/dbt-jinja/minijinja-contrib/src/filters/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::convert::TryFrom;
22

3-
use minijinja::value::{Kwargs, Value, ValueKind};
43
use minijinja::State;
4+
use minijinja::value::{Kwargs, Value, ValueKind};
55
use minijinja::{Error, ErrorKind};
66

77
#[cfg(feature = "datetime")]
@@ -262,7 +262,7 @@ pub fn wordcount(value: &Value) -> Result<Value, Error> {
262262
#[cfg(feature = "wordwrap")]
263263
#[cfg_attr(docsrs, doc(any(cfg(feature = "wordwrap"), cfg = "unicode_wordwrap")))]
264264
pub fn wordwrap(value: &Value, kwargs: Kwargs) -> Result<Value, Error> {
265-
use textwrap::{wrap, Options as WrapOptions, WordSplitter};
265+
use textwrap::{Options as WrapOptions, WordSplitter, wrap};
266266
let s = value.as_str().unwrap_or_default();
267267

268268
let width = kwargs.get::<Option<usize>>("width")?.unwrap_or(79);

crates/dbt-jinja/minijinja-contrib/src/globals.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
use std::rc::Rc;
2-
use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
32
use std::sync::Arc;
3+
use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
44

55
use minijinja::listener::RenderingEventListener;
66
#[allow(unused)]
77
use minijinja::value::Value;
8-
use minijinja::value::{from_args, Object, ObjectRepr};
8+
use minijinja::value::{Object, ObjectRepr, from_args};
99
use minijinja::{Error, ErrorKind, State};
1010

1111
/// Returns the current time in UTC as unix timestamp.
@@ -137,8 +137,8 @@ pub fn joiner(sep: Option<Value>) -> Value {
137137
/// Returns the rng for the state
138138
#[cfg(feature = "rand")]
139139
pub(crate) fn get_rng(state: &State) -> rand::rngs::SmallRng {
140-
use rand::rngs::SmallRng;
141140
use rand::SeedableRng;
141+
use rand::rngs::SmallRng;
142142

143143
if let Some(seed) = state
144144
.lookup("RAND_SEED")
@@ -189,8 +189,8 @@ pub fn lipsum(
189189
n: Option<usize>,
190190
kwargs: minijinja::value::Kwargs,
191191
) -> Result<Value, Error> {
192-
use rand::seq::SliceRandom;
193192
use rand::Rng;
193+
use rand::seq::SliceRandom;
194194

195195
#[rustfmt::skip]
196196
const LIPSUM_WORDS: &[&str] = &[

crates/dbt-jinja/minijinja-contrib/src/modules/py_datetime/date.rs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use chrono::{Datelike, Local, NaiveDate, NaiveDateTime, TimeZone};
22
use minijinja::arg_utils::ArgParser;
3-
use minijinja::{value::Object, Error, ErrorKind, Value};
3+
use minijinja::{Error, ErrorKind, Value, value::Object};
44
use std::fmt;
55
use std::sync::Arc;
66

@@ -336,9 +336,9 @@ impl Object for PyDate {
336336
mod tests {
337337
use super::*;
338338
use crate::modules::py_datetime::timedelta::PyTimeDelta;
339+
use minijinja::Environment;
339340
use minijinja::args;
340341
use minijinja::context;
341-
use minijinja::Environment;
342342

343343
#[test]
344344
fn test_date_strftime() {
@@ -361,9 +361,11 @@ mod tests {
361361

362362
// Test error case - missing format argument
363363
let error = date_arc.strftime(&[]).unwrap_err();
364-
assert!(error
365-
.to_string()
366-
.contains("strftime requires one string argument"));
364+
assert!(
365+
error
366+
.to_string()
367+
.contains("strftime requires one string argument")
368+
);
367369
}
368370

369371
#[test]
@@ -546,9 +548,11 @@ mod tests {
546548
// Test invalid date
547549
let result = date_arc.replace(args!(month => 13));
548550
assert!(result.is_err());
549-
assert!(result
550-
.unwrap_err()
551-
.to_string()
552-
.contains("Invalid date: year=2023, month=13, day=15"));
551+
assert!(
552+
result
553+
.unwrap_err()
554+
.to_string()
555+
.contains("Invalid date: year=2023, month=13, day=15")
556+
);
553557
}
554558
}

crates/dbt-jinja/minijinja-contrib/src/modules/py_datetime/datetime.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::sync::Arc;
44

55
use chrono::{DateTime, Datelike, NaiveDate, NaiveDateTime, NaiveTime, TimeZone, Timelike, Utc};
66
use chrono_tz::Tz;
7-
use minijinja::{arg_utils::ArgParser, value::Object, Error, ErrorKind, Value};
7+
use minijinja::{Error, ErrorKind, Value, arg_utils::ArgParser, value::Object};
88

99
use crate::modules::py_datetime::date::PyDate; // your date
1010
use crate::modules::py_datetime::time::PyTime;

crates/dbt-jinja/minijinja-contrib/src/modules/py_datetime/time.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use chrono::{Local, NaiveDate, NaiveTime, Timelike};
2-
use minijinja::{arg_utils::ArgParser, value::Object, Error, ErrorKind, Value};
2+
use minijinja::{Error, ErrorKind, Value, arg_utils::ArgParser, value::Object};
33
use std::fmt;
44
use std::sync::Arc;
55

@@ -92,7 +92,7 @@ impl PyTimeClass {
9292
return Err(Error::new(
9393
ErrorKind::InvalidArgument,
9494
format!("Invalid iso time format: {iso_str}: {e}"),
95-
))
95+
));
9696
}
9797
};
9898

@@ -318,8 +318,8 @@ impl Object for PyTime {
318318
mod tests {
319319
use super::*;
320320
use crate::modules::py_datetime::timedelta::PyTimeDelta;
321-
use minijinja::context;
322321
use minijinja::Environment;
322+
use minijinja::context;
323323

324324
#[test]
325325
fn test_time_strftime() {
@@ -342,9 +342,11 @@ mod tests {
342342

343343
// Test error case - missing format argument
344344
let error = time_arc.strftime(&[]).unwrap_err();
345-
assert!(error
346-
.to_string()
347-
.contains("strftime requires one string argument"));
345+
assert!(
346+
error
347+
.to_string()
348+
.contains("strftime requires one string argument")
349+
);
348350
}
349351

350352
#[test]

crates/dbt-jinja/minijinja-contrib/src/modules/py_datetime/timedelta.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use chrono::Duration;
2-
use minijinja::{arg_utils::ArgParser, value::Object, Error, ErrorKind, Value};
2+
use minijinja::{Error, ErrorKind, Value, arg_utils::ArgParser, value::Object};
33
use std::fmt;
44
use std::sync::Arc;
55

@@ -263,9 +263,9 @@ impl Object for PyTimeDelta {
263263
#[cfg(test)]
264264
mod tests {
265265
use super::*;
266-
use minijinja::args;
267266
use minijinja::Environment;
268267
use minijinja::Value;
268+
use minijinja::args;
269269

270270
#[test]
271271
fn test_timedelta_creation() {

crates/dbt-jinja/minijinja-contrib/src/modules/py_datetime/tzinfo.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use minijinja::{value::Object, Error, ErrorKind, Value};
1+
use minijinja::{Error, ErrorKind, Value, value::Object};
22
use std::fmt;
33
use std::rc::Rc;
44
use std::sync::Arc;

0 commit comments

Comments
 (0)