Skip to content

Commit ab92770

Browse files
committed
added 'slc' mod, updated and fixed code
1 parent f580d15 commit ab92770

File tree

1 file changed

+97
-26
lines changed

1 file changed

+97
-26
lines changed

src/database/mod.rs

Lines changed: 97 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,76 +2,147 @@ pub mod get
22
{
33
// PACKAGES
44
use std::fs::File;
5-
use std::io::{self, prelude::*, BufReader};
5+
use std::io::{prelude::*, BufReader};
66

77

8-
const storagePATH : &str = "rustix/storage.txt";
8+
const STORAGE_PATH : &str = "rustix/storage.txt";
99

1010

1111
pub fn start() -> std::io::Result<Vec<[String; 4]>>
1212
{
1313
fn get_saves(x: String) -> [String; 4]
1414
{
15-
let mut elemStartPoint : i64 = 0;
16-
let mut SAVE_INFO : [String; 4] = ["".to_string(), "".to_string(), "".to_string(), "".to_string()];
15+
let mut elem_start_point : i64 = 0;
16+
let mut save_info : [String; 4] = ["".to_string(), "".to_string(), "".to_string(), "".to_string()];
1717

1818
for i in x.chars()
1919
{
20-
if (i == '|') { elemStartPoint += 1; }
21-
if (elemStartPoint == 1) { SAVE_INFO[0].push(i); }
22-
if (elemStartPoint == 2) { SAVE_INFO[1].push(i); }
23-
if (elemStartPoint == 3) { SAVE_INFO[2].push(i); }
24-
if (elemStartPoint == 4) { SAVE_INFO[3].push(i); }
20+
if i == '|' { elem_start_point += 1; }
21+
if elem_start_point == 1 { save_info[0].push(i); }
22+
if elem_start_point == 2 { save_info[1].push(i); }
23+
if elem_start_point == 3 { save_info[2].push(i); }
24+
if elem_start_point == 4 { save_info[3].push(i); }
2525
}
26-
for i in SAVE_INFO.iter_mut() { i.remove(0); }
26+
for i in save_info.iter_mut() { i.remove(0); }
2727

28-
return SAVE_INFO;
28+
return save_info;
2929
}
3030

31-
let file = File::open(storagePATH)?;
31+
let file = File::open(STORAGE_PATH)?;
3232
let reader = BufReader::new(file);
33-
let mut SAVES_BASE = Vec::new();
33+
let mut saves_base = Vec::new();
3434

35-
for line in reader.lines() { SAVES_BASE.push(get_saves(line?)); }
35+
for line in reader.lines() { saves_base.push(get_saves(line?)); }
3636

37-
Ok(SAVES_BASE)
37+
Ok(saves_base)
3838
}
3939
}
4040

41+
4142
pub mod add
4243
{
4344
// PACKAGES
4445
use std::path::Path;
45-
use std::fs::File;
46-
use std::io::{self, prelude::*, BufReader};
47-
4846
use std::io::prelude::*;
4947
use std::fs::OpenOptions;
5048

5149

52-
const storagePATH : &str = "rustix/storage.txt";
50+
const STORAGE_PATH : &str = "rustix/storage.txt";
5351

5452

5553
fn write_file(save_info: [String; 4]) -> bool
5654
{
57-
let SAVES_BASE = crate::database::get::start().unwrap();
58-
let mut UNIQUE_SAVE : bool = true;
55+
let saves_base = crate::database::get::start().unwrap();
56+
let mut unique_save : bool = true;
5957

60-
for i in SAVES_BASE { if (i[1] == save_info[1]) { UNIQUE_SAVE = false; } }
58+
for i in saves_base { if i[1] == save_info[1] { unique_save = false; } }
6159

62-
if (UNIQUE_SAVE == true) {
60+
if unique_save == true {
6361
let res = format!("|{}|{}|{}|{}|", save_info[0], save_info[1], save_info[2], save_info[3]);
64-
let mut file = OpenOptions::new().write(true).append(true).open(storagePATH).unwrap();
62+
let mut file = OpenOptions::new().write(true).append(true).open(STORAGE_PATH).unwrap();
6563
writeln!(file, "{}", res);
6664

6765
println!("Added !");
6866
} else { println!("Such a name already exists !"); }
6967

70-
return UNIQUE_SAVE;
68+
return unique_save;
7169
}
7270

7371

7472
// START POINT
7573
pub fn start(save_info: [String; 4]) -> bool
76-
{ if (Path::new(storagePATH).exists() == true) { return write_file(save_info); } else { return false; } }
74+
{ if Path::new(STORAGE_PATH).exists() == true { return write_file(save_info); } else { return false; } }
75+
}
76+
77+
78+
pub mod del
79+
{
80+
// PACKAGES
81+
use std::fs;
82+
use std::io::prelude::*;
83+
use std::fs::OpenOptions;
84+
85+
86+
const STORAGE_PATH : &str = "rustix/storage.txt";
87+
88+
89+
fn checking(mut base: Vec<[String; 4]>, save_name: String)
90+
{
91+
let mut exist_save : bool = false;
92+
let mut save_id : usize = 0;
93+
94+
for (i, el) in base.iter().enumerate() {
95+
if el[1] == save_name { exist_save = true; save_id = i; break; }
96+
}
97+
98+
if exist_save == true
99+
{
100+
base.remove(save_id);
101+
102+
{ // BLOCK FOR DELETE SAVE FILE
103+
let save_path = format!("rustix/saves/{:02}.txt", save_name);
104+
105+
match fs::remove_file(save_path) {
106+
Err(error) => println!("{:?}", error.kind()),
107+
Ok(_) => println!("The save was successfully deleted !"),
108+
}
109+
}
110+
111+
// CODE FOR MAKE STORAGE.TXT EMPTY
112+
OpenOptions::new().write(true).truncate(true).open(STORAGE_PATH);
113+
114+
{ // BLOCK FOR ADD NEW INFO ABOUT SAVES IN STORAGE.TXT
115+
let mut file = OpenOptions::new().write(true).append(false).open(STORAGE_PATH).unwrap();
116+
117+
for i in base {
118+
let res = format!("|{}|{}|{}|{}|", i[0], i[1], i[2], i[3]);
119+
writeln!(file, "{}", res);
120+
}
121+
}
122+
} else { println!("some error"); }
123+
}
124+
125+
126+
// START POINT
127+
pub fn start(save_name: String)
128+
{ checking(crate::database::get::start().unwrap(), save_name); }
129+
}
130+
131+
132+
pub mod slc
133+
{
134+
pub fn start(save_name: &String) -> (bool, String)
135+
{
136+
let saves_base = crate::database::get::start().unwrap();
137+
let mut save_info : (bool, String) = (false, "".to_string());
138+
139+
for i in saves_base {
140+
if i[1] == *save_name {
141+
save_info.0 = true;
142+
save_info.1 = i[0].to_string();
143+
}
144+
}
145+
146+
return save_info;
147+
}
77148
}

0 commit comments

Comments
 (0)