26 lines
779 B
Rust
26 lines
779 B
Rust
|
use serde::Deserialize;
|
||
|
use std::fs::File;
|
||
|
use std::io::Read;
|
||
|
|
||
|
#[derive(Debug, Deserialize)]
|
||
|
#[allow(dead_code)] // evita os warnings de que non se le o campo
|
||
|
pub struct Object {
|
||
|
pub tag: String, // tamén é o nome do arquivo, mentras non se implementa bbdd
|
||
|
pub nombre: String,
|
||
|
pub descripcion: String,
|
||
|
}
|
||
|
|
||
|
// get_object le o arquivo do obxeto e devolve o json
|
||
|
pub fn get_object(tag: String) -> Object {
|
||
|
let dir = "objects";
|
||
|
let path = format!("{}/{}.json", dir, tag);
|
||
|
|
||
|
let mut file = File::open(path).expect("Obxeto non atopado.");
|
||
|
let mut data = String::new();
|
||
|
file.read_to_string(&mut data).expect("Error durante a lectura do obxeto.");
|
||
|
|
||
|
let object: Object = serde_json::from_str(&data).expect("JSON was not well-formatted");
|
||
|
|
||
|
object
|
||
|
}
|