aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/quarrel/native/src/time.rs
diff options
context:
space:
mode:
Diffstat (limited to '.config/awesome/quarrel/native/src/time.rs')
-rw-r--r--.config/awesome/quarrel/native/src/time.rs75
1 files changed, 0 insertions, 75 deletions
diff --git a/.config/awesome/quarrel/native/src/time.rs b/.config/awesome/quarrel/native/src/time.rs
deleted file mode 100644
index 9850822..0000000
--- a/.config/awesome/quarrel/native/src/time.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-use chrono::prelude::*;
-use mlua::{
- prelude::*,
- LuaSerdeExt,
-};
-
-// Taken from https://github.com/chronotope/chrono/issues/69#issuecomment-1510506428
-trait NaiveDateExt {
- fn days_in_month(&self) -> u32;
- fn days_in_year(&self) -> u32;
- fn is_leap_year(&self) -> bool;
-}
-
-impl NaiveDateExt for NaiveDate {
- fn days_in_month(&self) -> u32 {
- let month = self.month();
- match month {
- 1 | 3 | 5 | 7 | 8 | 10 | 12 => 31,
- 4 | 6 | 9 | 11 => 30,
- 2 => {
- if self.is_leap_year() {
- 29
- } else {
- 28
- }
- }
- _ => panic!("Invalid month: {}", month),
- }
- }
-
- fn days_in_year(&self) -> u32 {
- if self.is_leap_year() {
- 366
- } else {
- 365
- }
- }
-
- fn is_leap_year(&self) -> bool {
- let year = self.year();
- return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
- }
-}
-
-struct Day {
- day: u32,
- ce: bool,
- weekday: Weekday,
-}
-
-pub fn get_calendar_table(lua: &Lua, (year, month, day): (i32, u32, u32)) -> LuaResult<LuaTable> {
- let date =
- NaiveDate::from_ymd_opt(year, month, day).ok_or(LuaError::external("invalid date"))?;
- let days: Vec<Day> = (1..=date.days_in_month())
- .map(|day| NaiveDate::from_ymd_opt(date.year(), date.month(), day).unwrap())
- .map(|date| {
- let (ce, year) = date.year_ce();
- Day {
- day: date.day(),
- ce,
- weekday: date.weekday(),
- }
- })
- .collect();
-
- let calendar: Vec<Vec<Day>> = vec![vec![], vec![], vec![], vec![], vec![], vec![], vec![]];
-
- if days[1].weekday != Weekday::Mon {
- get_calendar_table(lua)
- }
-
- if days.last().unwrap().weekday != Weekday::Sun {}
-
- Ok(lua.create_table()?)
-}