Compare commits
2 Commits
2758b07c2b
...
f8814e7e1a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8814e7e1a | ||
|
|
af4d960262 |
1
JR-priprava-na-skusku6/.gitignore
vendored
Normal file
1
JR-priprava-na-skusku6/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
target/
|
||||||
107
JR-priprava-na-skusku6/Cargo.lock
generated
Normal file
107
JR-priprava-na-skusku6/Cargo.lock
generated
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 4
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "JR-priprava-na-skusku6"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itoa"
|
||||||
|
version = "1.0.17"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro2"
|
||||||
|
version = "1.0.106"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
||||||
|
dependencies = [
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "quote"
|
||||||
|
version = "1.0.44"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde"
|
||||||
|
version = "1.0.228"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
||||||
|
dependencies = [
|
||||||
|
"serde_core",
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_core"
|
||||||
|
version = "1.0.228"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
||||||
|
dependencies = [
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_derive"
|
||||||
|
version = "1.0.228"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_json"
|
||||||
|
version = "1.0.149"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
|
||||||
|
dependencies = [
|
||||||
|
"itoa",
|
||||||
|
"memchr",
|
||||||
|
"serde",
|
||||||
|
"serde_core",
|
||||||
|
"zmij",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "syn"
|
||||||
|
version = "2.0.115"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6e614ed320ac28113fa64972c4262d5dbc89deacdfd00c34a3e4cea073243c12"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-ident"
|
||||||
|
version = "1.0.23"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "537dd038a89878be9b64dd4bd1b260315c1bb94f4d784956b81e27a088d9a09e"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zmij"
|
||||||
|
version = "1.0.21"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
|
||||||
8
JR-priprava-na-skusku6/Cargo.toml
Normal file
8
JR-priprava-na-skusku6/Cargo.toml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "JR-priprava-na-skusku6"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
serde = { version = "1.0.228", features = ["derive"] }
|
||||||
|
serde_json = "1.0.149"
|
||||||
88
JR-priprava-na-skusku6/src/lib.rs
Normal file
88
JR-priprava-na-skusku6/src/lib.rs
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
use serde::Deserialize;
|
||||||
|
use serde::Serialize;
|
||||||
|
use std::fmt;
|
||||||
|
use std::fs;
|
||||||
|
|
||||||
|
#[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),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Filmoteka {
|
||||||
|
pub fn nacitaj_zo_suboru(cesta: &std::path::PathBuf) -> Option<Filmoteka> {
|
||||||
|
let raw = fs::read_to_string(cesta).ok()?;
|
||||||
|
let result = serde_json::from_str(&raw).ok();
|
||||||
|
result
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn uloz_do_suboru(&self, cesta: &std::path::PathBuf) -> bool {
|
||||||
|
let Ok(json) = serde_json::to_string_pretty(&self) else {
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
fs::write(cesta, json).is_ok()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
5
JR-priprava-na-skusku6/src/main.rs
Normal file
5
JR-priprava-na-skusku6/src/main.rs
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
1075
priprava/rust_priprava2.md
Normal file
1075
priprava/rust_priprava2.md
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user