bonus: bonus1 is optimized

git-svn-id: svn+ssh://atelier.inf.usi.ch/home/bevilj/group-1@252 a672b425-5310-4d7a-af5c-997e18724b81
This commit is contained in:
Claudio Maggioni 2018-11-18 19:56:35 +00:00
parent 32aea7cbe7
commit 10a9f86719
1 changed files with 13 additions and 2 deletions

View File

@ -72,6 +72,8 @@ fn main() {
process::exit(127);
} else {
let dir = &args[1];
let mut working = Vec::new();
for entry in WalkDir::new(dir) {
match entry {
Ok(en) => {
@ -93,9 +95,15 @@ fn main() {
let urls: Vec<String> = find_urls(contents.as_str());
for url in urls {
if is_external_url(&url) {
if working.contains(&url) {
continue;
}
if is_external_url(&url) && !working.contains(&url) {
if !is_external_url_working(&url) {
println!("{}: '{}' is a broken link.", path, url);
} else {
working.push(url);
}
} else {
if url.starts_with("mailto:") || url.eq("#") || url.eq("{url}") {
@ -104,9 +112,12 @@ fn main() {
let lpath = format!("{}{}", dir, url);
if !path_exists(&lpath) {
println!("{}: '{}' is a broken link ({} does not exist).", path, url, lpath);
} else {
working.push(url);
}
} else {
let lpath = format!("{}/{}", en.path().parent().unwrap_or(Path::new("/")).to_str().unwrap(), url);
let lpath = format!("{}/{}", en.path().parent()
.unwrap_or(Path::new("/")).to_str().unwrap(), url);
if !path_exists(&lpath) {
println!("{}: '{}' is a broken link ({} does not exist).", path, url, lpath);
}