Compare commits
2 Commits
a46bc063ff
...
9d976b49ab
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d976b49ab | |||
| 3e7601db1d |
29
src/main.rs
29
src/main.rs
@ -109,24 +109,27 @@ async fn download_multiple(args: CLIArgs, raw_urls: Vec<String>) -> Result<()> {
|
||||
}
|
||||
|
||||
async fn download_job(urls: SyncQueue, reporter: UnboundedSender<DlReport>, cli_args: CLIArgs) {
|
||||
while let Some(dlreq) = urls.lock().await.pop_front() {
|
||||
// The mutex access must be in its own scope to ensure that the lock is dropped
|
||||
while let Some(dlreq) = {
|
||||
let mut urls = urls.lock().await;
|
||||
urls.pop_front().take()
|
||||
} {
|
||||
println!("Downloading {}", dlreq.url);
|
||||
let reporter = DlReporter::new(dlreq.id as u32, reporter.clone());
|
||||
|
||||
// Resolve the zippy url to the direct download url if necessary
|
||||
let url = match is_integrated_url(&dlreq.url) {
|
||||
Some(service) => {
|
||||
match resolve_integrated_url(&dlreq.url, service).await {
|
||||
Ok(url) => url,
|
||||
Err(_e) => {
|
||||
report_msg!(
|
||||
reporter,
|
||||
"Zippyshare link could not be resolved, skipping: {}",
|
||||
dlreq.url
|
||||
);
|
||||
continue;
|
||||
}
|
||||
Some(service) => match resolve_integrated_url(&dlreq.url, service).await {
|
||||
Ok(url) => url,
|
||||
Err(_e) => {
|
||||
report_msg!(
|
||||
reporter,
|
||||
"Zippyshare link could not be resolved, skipping: {}",
|
||||
dlreq.url
|
||||
);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
},
|
||||
None => dlreq.url,
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user