dalsie
This commit is contained in:
53
src/lib.rs
53
src/lib.rs
@@ -1,6 +1,8 @@
|
|||||||
// src/lib.rs
|
// src/lib.rs
|
||||||
|
|
||||||
use serde::{Serialize, Deserialize};
|
use serde::{Serialize, Deserialize};
|
||||||
|
use serde_json;
|
||||||
|
use std::fmt;
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize, PartialEq)]
|
#[derive(Default, Serialize, Deserialize, PartialEq)]
|
||||||
enum Semester {
|
enum Semester {
|
||||||
@@ -9,6 +11,15 @@ enum Semester {
|
|||||||
Letny
|
Letny
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for Semester {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
match self {
|
||||||
|
Semester::Zimny => write!(f, "Zimny"),
|
||||||
|
Semester::Letny => write!(f, "Letny"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize, PartialEq, Eq, Hash, Copy, Clone)]
|
#[derive(Default, Serialize, Deserialize, PartialEq, Eq, Hash, Copy, Clone)]
|
||||||
enum TypPovinnosti {
|
enum TypPovinnosti {
|
||||||
Povinny,
|
Povinny,
|
||||||
@@ -17,6 +28,16 @@ enum TypPovinnosti {
|
|||||||
Vyberovy,
|
Vyberovy,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for TypPovinnosti {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
match self {
|
||||||
|
TypPovinnosti::Povinny => write!(f, "Povinny"),
|
||||||
|
TypPovinnosti::PovinneVoliteny => write!(f, "PovinneVoliteny"),
|
||||||
|
TypPovinnosti::Vyberovy => write!(f, "Vyberovy"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize)]
|
#[derive(Default, Serialize, Deserialize)]
|
||||||
struct Predmet {
|
struct Predmet {
|
||||||
kod: String,
|
kod: String,
|
||||||
@@ -30,12 +51,44 @@ struct Predmet {
|
|||||||
typ_povinnosti: TypPovinnosti
|
typ_povinnosti: TypPovinnosti
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for Predmet {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
write!(f, "({}, {}, {}, {}, {}, {}, {}, {}, {})",
|
||||||
|
self.kod,
|
||||||
|
self.nazov,
|
||||||
|
self.vyucujuci.join(", "),
|
||||||
|
self.popis,
|
||||||
|
self.semester,
|
||||||
|
self.rocnik,
|
||||||
|
self.pocet_kreditov,
|
||||||
|
self.znamka,
|
||||||
|
self.typ_povinnosti
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize)]
|
#[derive(Default, Serialize, Deserialize)]
|
||||||
struct Index {
|
struct Index {
|
||||||
|
predmety: Vec<Predmet>
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Index{
|
impl Index{
|
||||||
|
pub fn nacitaj_zo_suboru(&self, cesta: &std::path::PathBuf) -> Option<Self> {
|
||||||
|
let data = match std::fs::read_to_string(cesta) {
|
||||||
|
Ok(x) => x,
|
||||||
|
Err(_) => return None,
|
||||||
|
};
|
||||||
|
let vysledok = match serde_json::from_str(data.as_str()) {
|
||||||
|
Ok(k) => k,
|
||||||
|
Err(_) => return None,
|
||||||
|
};
|
||||||
|
Some(vysledok)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn uloz_do_suboru(&self, cesta_uloz: &std::path::PathBuf) -> bool {
|
||||||
|
true
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Predmet {
|
impl Predmet {
|
||||||
|
|||||||
Reference in New Issue
Block a user