diff options
author | necrashter | 2022-04-23 15:37:37 +0300 |
---|---|---|
committer | Yigit Sever | 2022-04-23 18:10:12 +0300 |
commit | 85dc0418b8b3b7e6d10a4ae85878a921b67c9baf (patch) | |
tree | 7d61cea14546b91fcb857bed7a2292bcbcff5d86 /src/db.rs | |
parent | 2541f5f849e25d7a5483c5715ef2e84945016637 (diff) | |
download | gradecoin-85dc0418b8b3b7e6d10a4ae85878a921b67c9baf.tar.gz gradecoin-85dc0418b8b3b7e6d10a4ae85878a921b67c9baf.tar.bz2 gradecoin-85dc0418b8b3b7e6d10a4ae85878a921b67c9baf.zip |
Save different networks to different folders
Diffstat (limited to 'src/db.rs')
-rw-r--r-- | src/db.rs | 22 |
1 files changed, 12 insertions, 10 deletions
@@ -28,14 +28,14 @@ pub struct Db { | |||
28 | 28 | ||
29 | impl Db { | 29 | impl Db { |
30 | pub fn new(config: Config) -> Self { | 30 | pub fn new(config: Config) -> Self { |
31 | fs::create_dir_all("blocks").unwrap(); | 31 | fs::create_dir_all(format!("blocks/{}", config.name)).unwrap(); |
32 | fs::create_dir_all("users").unwrap(); | 32 | fs::create_dir_all(format!("users/{}", config.name)).unwrap(); |
33 | let mut db = Db::default(); | 33 | let mut db = Db::default(); |
34 | if let Some(block_path) = last_block_content() { | 34 | if let Some(block_path) = last_block_content(&config.name) { |
35 | db.populate_with_last_block(block_path); | 35 | db.populate_with_last_block(block_path); |
36 | } | 36 | } |
37 | 37 | ||
38 | if let Ok(users_path) = read_users() { | 38 | if let Ok(users_path) = read_users(&config.name) { |
39 | db.populate_with_users(users_path); | 39 | db.populate_with_users(users_path); |
40 | } | 40 | } |
41 | 41 | ||
@@ -85,8 +85,8 @@ impl Db { | |||
85 | } | 85 | } |
86 | } | 86 | } |
87 | 87 | ||
88 | fn last_block_content() -> Option<String> { | 88 | fn last_block_content(config_name: &str) -> Option<String> { |
89 | let blocks = read_block_name().unwrap(); | 89 | let blocks = read_block_name(config_name).unwrap(); |
90 | 90 | ||
91 | if blocks.is_empty() { | 91 | if blocks.is_empty() { |
92 | return None; | 92 | return None; |
@@ -107,8 +107,9 @@ fn last_block_content() -> Option<String> { | |||
107 | return Some(blocks[last_block_index].to_str().unwrap().parse().unwrap()); | 107 | return Some(blocks[last_block_index].to_str().unwrap().parse().unwrap()); |
108 | } | 108 | } |
109 | 109 | ||
110 | fn read_block_name() -> io::Result<Vec<PathBuf>> { | 110 | fn read_block_name(config_name: &str) -> io::Result<Vec<PathBuf>> { |
111 | let entries = fs::read_dir("./blocks")? | 111 | let path = format!("./blocks/{}", config_name); |
112 | let entries = fs::read_dir(path)? | ||
112 | .map(|res| res.map(|e| e.path())) | 113 | .map(|res| res.map(|e| e.path())) |
113 | .collect::<Result<Vec<_>, io::Error>>()?; | 114 | .collect::<Result<Vec<_>, io::Error>>()?; |
114 | 115 | ||
@@ -122,8 +123,9 @@ fn parse_block(path: &str) -> u64 { | |||
122 | block_u64 | 123 | block_u64 |
123 | } | 124 | } |
124 | 125 | ||
125 | fn read_users() -> io::Result<Vec<PathBuf>> { | 126 | fn read_users(config_name: &str) -> io::Result<Vec<PathBuf>> { |
126 | let entries = fs::read_dir("./users")? | 127 | let path = format!("./users/{}", config_name); |
128 | let entries = fs::read_dir(path)? | ||
127 | .map(|res| res.map(|e| e.path())) | 129 | .map(|res| res.map(|e| e.path())) |
128 | .collect::<Result<Vec<_>, io::Error>>()?; | 130 | .collect::<Result<Vec<_>, io::Error>>()?; |
129 | 131 | ||