Skip to content

Commit

Permalink
Use IntoStaticStr
Browse files Browse the repository at this point in the history
  • Loading branch information
wence- committed Oct 23, 2024
1 parent da6777b commit f3ee681
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 38 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

43 changes: 8 additions & 35 deletions crates/polars-python/src/lazyframe/visitor/expr_nodes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -452,13 +452,8 @@ impl PyRollingGroupOptions {

#[getter]
fn closed_window(&self, py: Python<'_>) -> PyResult<PyObject> {
let result = match self.inner.closed_window {
polars::time::ClosedWindow::Left => "left".to_object(py),
polars::time::ClosedWindow::Right => "right".to_object(py),
polars::time::ClosedWindow::Both => "both".to_object(py),
polars::time::ClosedWindow::None => "none".to_object(py),
};
Ok(result.into_py(py))
let result: &str = self.inner.closed_window.into();
Ok(result.to_object(py))
}
}

Expand Down Expand Up @@ -491,13 +486,8 @@ impl PyDynamicGroupOptions {

#[getter]
fn label(&self, py: Python<'_>) -> PyResult<PyObject> {
let result = match self.inner.label {
polars::prelude::Label::Left => "left",
polars::prelude::Label::Right => "right",
polars::prelude::Label::DataPoint => "datapoint",
}
.to_object(py);
Ok(result)
let result: &str = self.inner.label.into();
Ok(result.to_object(py))
}

#[getter]
Expand All @@ -507,30 +497,13 @@ impl PyDynamicGroupOptions {

#[getter]
fn closed_window(&self, py: Python<'_>) -> PyResult<PyObject> {
let result = match self.inner.closed_window {
polars::time::ClosedWindow::Left => "left",
polars::time::ClosedWindow::Right => "right",
polars::time::ClosedWindow::Both => "both",
polars::time::ClosedWindow::None => "none",
}
.to_object(py);
Ok(result)
let result: &str = self.inner.closed_window.into();
Ok(result.to_object(py))
}
#[getter]
fn start_by(&self, py: Python<'_>) -> PyResult<PyObject> {
let result = match self.inner.start_by {
polars::prelude::StartBy::WindowBound => "window",
polars::prelude::StartBy::DataPoint => "datapoint",
polars::prelude::StartBy::Monday => "monday",
polars::prelude::StartBy::Tuesday => "tuesday",
polars::prelude::StartBy::Wednesday => "wednesday",
polars::prelude::StartBy::Thursday => "thursday",
polars::prelude::StartBy::Friday => "friday",
polars::prelude::StartBy::Saturday => "saturday",
polars::prelude::StartBy::Sunday => "sunday",
}
.to_object(py);
Ok(result)
let result: &str = self.inner.start_by.into();
Ok(result.to_object(py))
}
}

Expand Down
1 change: 1 addition & 0 deletions crates/polars-time/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ now = { version = "0.1" }
once_cell = { workspace = true }
regex = { workspace = true }
serde = { workspace = true, optional = true }
strum_macros = { workspace = true }

[dev-dependencies]
polars-ops = { workspace = true, features = ["abs"] }
Expand Down
7 changes: 4 additions & 3 deletions crates/polars-time/src/windows/group_by.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ use polars_core::POOL;
use polars_utils::slice::GetSaferUnchecked;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use strum_macros::IntoStaticStr;

use crate::prelude::*;

#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, IntoStaticStr)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum ClosedWindow {
Left,
Expand All @@ -20,15 +21,15 @@ pub enum ClosedWindow {
None,
}

#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, IntoStaticStr)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum Label {
Left,
Right,
DataPoint,
}

#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, IntoStaticStr)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum StartBy {
WindowBound,
Expand Down

0 comments on commit f3ee681

Please sign in to comment.