blok 1 hotovy
This commit is contained in:
71
JR-priprava-na-skusku6/src/lib.rs
Normal file
71
JR-priprava-na-skusku6/src/lib.rs
Normal file
@@ -0,0 +1,71 @@
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
use std::fmt;
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, PartialEq, Clone)]
|
||||
pub enum Zaner {
|
||||
Akcia,
|
||||
Komedia,
|
||||
Horor,
|
||||
#[default]
|
||||
Drama,
|
||||
Scifi,
|
||||
Dokumentarny
|
||||
}
|
||||
|
||||
impl fmt::Display for Zaner {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
Zaner::Akcia => write!(f, "Akcia"),
|
||||
Zaner::Komedia => write!(f, "Komedia"),
|
||||
Zaner::Horor => write!(f, "Horor"),
|
||||
Zaner::Drama => write!(f, "Drama"),
|
||||
Zaner::Scifi => write!(f, "Scifi"),
|
||||
Zaner::Dokumentarny => write!(f, "Dokumentarny"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone)]
|
||||
pub struct Film {
|
||||
nazov: String,
|
||||
reziser: String,
|
||||
rok: u16,
|
||||
zaner: Zaner,
|
||||
hodnotenie: f32
|
||||
}
|
||||
|
||||
impl fmt::Display for Film {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(f, "({}, {}, {}, {}, {})",
|
||||
self.nazov,
|
||||
self.reziser,
|
||||
self.rok,
|
||||
self.zaner,
|
||||
self.hodnotenie
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Serialize, Deserialize)]
|
||||
pub struct Filmoteka {
|
||||
filmy: Vec<Film>,
|
||||
}
|
||||
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, PartialEq)]
|
||||
pub enum Stav {
|
||||
Aktivny,
|
||||
Pozastaveny { dovod: String },
|
||||
Ukonceny { datum: String, hodnotenie: u8 },
|
||||
}
|
||||
|
||||
impl fmt::Display for Stav {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
Stav::Aktivny => write!(f, "Aktivny"),
|
||||
Stav::Pozastaveny { dovod } => write!(f, "Pozastaveny: {}", dovod),
|
||||
Stav::Ukonceny { datum, hodnotenie } => write!(f, "Ukončený dňa {} s hodnotením {}", datum, hodnotenie),
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user