From 4c5d8455fb07331382f2cc52cf757fa7d946bf15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20L=C3=B8vbr=C3=B8tte=20Olsen?= Date: Mon, 27 Apr 2020 00:49:45 +0200 Subject: [PATCH] jobsets and folders Former-commit-id: 42d81df7327918aaace728aad803162144734be5 --- src/main.rs | 10 ++++++---- src/workunit.rs | 10 +++++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6d70982..3f037cb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -108,7 +108,9 @@ fn upload(id: Uuid, video: Data, shared: State) -> Result) -> Result, shared: State) { +#[post("/add_job/", format = "json", data = "")] +fn add_job(message: Json, jobset: String, shared: State) { let job = message.into_inner(); let id = uuid::Uuid::new_v4(); - shared.jobs.lock().unwrap().insert(id, WUnit::new(id, job)); + shared.jobs.lock().unwrap().insert(id, WUnit::new(id, jobset, job)); } fn main() { diff --git a/src/workunit.rs b/src/workunit.rs index f05bcb8..7d2f713 100644 --- a/src/workunit.rs +++ b/src/workunit.rs @@ -6,13 +6,21 @@ use std::net::IpAddr; #[derive(Default, Debug, Serialize, Deserialize, Clone)] pub struct WUnit { pub id: Uuid, + pub jobset: String, pub description: WDesc, pub status: EStatus } impl WUnit { - pub fn new(id: Uuid, description: WDesc) -> Self { + pub fn new(id: Uuid, _jobset: String, description: WDesc) -> Self { + let jobset: String = _jobset.chars() + .map(|x| match x { + '.' => '_', + '/' => '-', + _ => x + }).collect(); WUnit { id: id, + jobset: jobset, description: description, status: EStatus::Queued }