Alphabetize list output
This commit is contained in:
		
							parent
							
								
									704fc91ef8
								
							
						
					
					
						commit
						acda290c4b
					
				
							
								
								
									
										23
									
								
								src/manip.rs
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								src/manip.rs
									
									
									
									
									
								
							| 
						 | 
					@ -103,10 +103,15 @@ impl ModMap {
 | 
				
			||||||
        self
 | 
					        self
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pub fn export_file(self, block_path: &str, mute_path: &str, heat: (u16, u16)) -> std::io::Result<()> {
 | 
					    pub fn export_file(
 | 
				
			||||||
 | 
					        self,
 | 
				
			||||||
 | 
					        block_path: &str,
 | 
				
			||||||
 | 
					        mute_path: &str,
 | 
				
			||||||
 | 
					        heat: (u16, u16),
 | 
				
			||||||
 | 
					    ) -> std::io::Result<()> {
 | 
				
			||||||
        if self.0.is_empty() {
 | 
					        if self.0.is_empty() {
 | 
				
			||||||
            error!("Nothing to export!");
 | 
					            error!("Nothing to export!");
 | 
				
			||||||
            return Ok(())
 | 
					            return Ok(());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let (block_thresh, mute_thresh) = heat;
 | 
					        let (block_thresh, mute_thresh) = heat;
 | 
				
			||||||
| 
						 | 
					@ -125,9 +130,19 @@ impl ModMap {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        fs::write(block_path, block_output)?;
 | 
					        fs::write(block_path, alphabetize_lines(block_output))?;
 | 
				
			||||||
        fs::write(mute_path, mute_output)?;
 | 
					        fs::write(mute_path, alphabetize_lines(mute_output))?;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Ok(())
 | 
					        Ok(())
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pub fn alphabetize_lines(string: String) -> String {
 | 
				
			||||||
 | 
					    let mut v = string
 | 
				
			||||||
 | 
					        .lines()
 | 
				
			||||||
 | 
					        .map(|literal| literal.to_string())
 | 
				
			||||||
 | 
					        .collect::<Vec<String>>();
 | 
				
			||||||
 | 
					    v.sort_by_key(|a| a.to_lowercase());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    v.join("\n") + "\n"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -196,5 +196,5 @@ fn modmap_export_txt() {
 | 
				
			||||||
    let mutes: String = fs::read_to_string("test_mutes.txt").unwrap();
 | 
					    let mutes: String = fs::read_to_string("test_mutes.txt").unwrap();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assert_eq!(blocks, "example.com\n");
 | 
					    assert_eq!(blocks, "example.com\n");
 | 
				
			||||||
    assert!(mutes == "example.org\nexample.net\n" || mutes == "example.net\nexample.org\n");
 | 
					    assert_eq!(mutes, "example.net\nexample.org\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue