invert path
This commit is contained in:
parent
7e4f4caeda
commit
eb36172d6a
2 changed files with 20 additions and 23 deletions
27
src/main.rs
27
src/main.rs
|
@ -1,6 +1,6 @@
|
||||||
use std::{collections::HashMap, time::Duration};
|
use std::{collections::HashMap, time::Duration};
|
||||||
|
|
||||||
use chrono::Timelike;
|
use chrono::{Datelike, Timelike};
|
||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
|
|
||||||
use tracing::{Instrument, Level};
|
use tracing::{Instrument, Level};
|
||||||
|
@ -66,24 +66,33 @@ async fn main() -> anyhow::Result<()> {
|
||||||
tracing::info!("Adding node {id} : {:?}", node);
|
tracing::info!("Adding node {id} : {:?}", node);
|
||||||
|
|
||||||
let mut clone = tx.subscribe();
|
let mut clone = tx.subscribe();
|
||||||
let path = config.root_path.join(id);
|
|
||||||
|
let zone = tzfile::Tz::named("GMT")?;
|
||||||
|
let now = { chrono::Utc::now().with_timezone(&&zone) };
|
||||||
|
|
||||||
|
let date_path = config.root_path.join(format!(
|
||||||
|
"{:02}-{:02}-{:02}",
|
||||||
|
now.year(),
|
||||||
|
now.month(),
|
||||||
|
now.day()
|
||||||
|
));
|
||||||
|
|
||||||
|
if !date_path.exists() {
|
||||||
|
std::fs::create_dir_all(&date_path)?;
|
||||||
|
}
|
||||||
|
|
||||||
let id_clone = id.clone();
|
let id_clone = id.clone();
|
||||||
let node_clone = node.clone();
|
let node_clone = node.clone();
|
||||||
|
|
||||||
let _: JoinHandle<anyhow::Result<()>> = tokio::spawn(async move {
|
let _: JoinHandle<anyhow::Result<()>> = tokio::spawn(async move {
|
||||||
while let Some(_) = clone.recv().await? {
|
while let Some(_) = clone.recv().await? {
|
||||||
let span = tracing::span!(
|
let span = tracing::span!(Level::INFO, "node screenshot", node = id_clone.as_str());
|
||||||
Level::INFO,
|
|
||||||
"node screenshot",
|
|
||||||
// FIXME: This should NOT be hardcoded
|
|
||||||
node = id_clone.as_str()
|
|
||||||
);
|
|
||||||
|
|
||||||
match shotter::take_one_screenshot(
|
match shotter::take_one_screenshot(
|
||||||
&node_clone.url,
|
&node_clone.url,
|
||||||
&node_clone.origin,
|
&node_clone.origin,
|
||||||
&id_clone,
|
&id_clone,
|
||||||
path.clone(),
|
date_path.clone().join(&id_clone),
|
||||||
config.webp_quality,
|
config.webp_quality,
|
||||||
)
|
)
|
||||||
.instrument(span)
|
.instrument(span)
|
||||||
|
|
|
@ -4,7 +4,7 @@ use base64::{
|
||||||
engine::general_purpose::{GeneralPurpose, GeneralPurposeConfig},
|
engine::general_purpose::{GeneralPurpose, GeneralPurposeConfig},
|
||||||
Engine,
|
Engine,
|
||||||
};
|
};
|
||||||
use chrono::{Datelike, Timelike};
|
use chrono::Timelike;
|
||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
use tokio_tungstenite::tungstenite::client::IntoClientRequest;
|
use tokio_tungstenite::tungstenite::client::IntoClientRequest;
|
||||||
|
|
||||||
|
@ -111,22 +111,10 @@ pub async fn take_one_screenshot(
|
||||||
// Layer 0 is the screen (it's also the only layer cvmts sends)
|
// Layer 0 is the screen (it's also the only layer cvmts sends)
|
||||||
if msg[1].as_str() == "0" {
|
if msg[1].as_str() == "0" {
|
||||||
if msg[3].as_str() == "0" && msg[4].as_str() == "0" {
|
if msg[3].as_str() == "0" && msg[4].as_str() == "0" {
|
||||||
// same as darok's stuff except i'm not keeping nanos
|
|
||||||
let zone = tzfile::Tz::named("GMT")?;
|
let zone = tzfile::Tz::named("GMT")?;
|
||||||
let now = { chrono::Utc::now().with_timezone(&&zone) };
|
let now = { chrono::Utc::now().with_timezone(&&zone) };
|
||||||
|
|
||||||
let date_path = root_path.join(format!(
|
let file_path = root_path.join(format!(
|
||||||
"{:02}-{:02}-{:02}",
|
|
||||||
now.year(),
|
|
||||||
now.month(),
|
|
||||||
now.day()
|
|
||||||
));
|
|
||||||
|
|
||||||
if !date_path.exists() {
|
|
||||||
std::fs::create_dir_all(&date_path)?;
|
|
||||||
}
|
|
||||||
|
|
||||||
let file_path = date_path.join(format!(
|
|
||||||
"{:02}-{:02}-{:02}.webp",
|
"{:02}-{:02}-{:02}.webp",
|
||||||
now.hour(),
|
now.hour(),
|
||||||
now.minute(),
|
now.minute(),
|
||||||
|
|
Loading…
Reference in a new issue