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:
parent
1a2c4dae2b
commit
9d6e685482
1 changed files with 13 additions and 2 deletions
|
@ -72,6 +72,8 @@ fn main() {
|
||||||
process::exit(127);
|
process::exit(127);
|
||||||
} else {
|
} else {
|
||||||
let dir = &args[1];
|
let dir = &args[1];
|
||||||
|
let mut working = Vec::new();
|
||||||
|
|
||||||
for entry in WalkDir::new(dir) {
|
for entry in WalkDir::new(dir) {
|
||||||
match entry {
|
match entry {
|
||||||
Ok(en) => {
|
Ok(en) => {
|
||||||
|
@ -93,9 +95,15 @@ fn main() {
|
||||||
|
|
||||||
let urls: Vec<String> = find_urls(contents.as_str());
|
let urls: Vec<String> = find_urls(contents.as_str());
|
||||||
for url in urls {
|
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) {
|
if !is_external_url_working(&url) {
|
||||||
println!("{}: '{}' is a broken link.", path, url);
|
println!("{}: '{}' is a broken link.", path, url);
|
||||||
|
} else {
|
||||||
|
working.push(url);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if url.starts_with("mailto:") || url.eq("#") || url.eq("{url}") {
|
if url.starts_with("mailto:") || url.eq("#") || url.eq("{url}") {
|
||||||
|
@ -104,9 +112,12 @@ fn main() {
|
||||||
let lpath = format!("{}{}", dir, url);
|
let lpath = format!("{}{}", dir, url);
|
||||||
if !path_exists(&lpath) {
|
if !path_exists(&lpath) {
|
||||||
println!("{}: '{}' is a broken link ({} does not exist).", path, url, lpath);
|
println!("{}: '{}' is a broken link ({} does not exist).", path, url, lpath);
|
||||||
|
} else {
|
||||||
|
working.push(url);
|
||||||
}
|
}
|
||||||
} else {
|
} 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) {
|
if !path_exists(&lpath) {
|
||||||
println!("{}: '{}' is a broken link ({} does not exist).", path, url, lpath);
|
println!("{}: '{}' is a broken link ({} does not exist).", path, url, lpath);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue