Mercurial > lbo > hg > scrapeprice
changeset 20:b16039ffcb17
Update example crate
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Tue, 22 Sep 2020 19:08:29 +0200 |
parents | b9af1d5065b4 |
children | e4c4a7c00fbd |
files | example/audiophil/Cargo.lock example/audiophil/Cargo.toml example/audiophil/src/audiophil.rs src/driver.rs |
diffstat | 4 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/example/audiophil/Cargo.lock Tue Sep 22 19:01:57 2020 +0200 +++ b/example/audiophil/Cargo.lock Tue Sep 22 19:08:29 2020 +0200 @@ -189,6 +189,7 @@ name = "example" version = "0.1.0" dependencies = [ + "async-trait", "env_logger", "hyper", "log",
--- a/example/audiophil/Cargo.toml Tue Sep 22 19:01:57 2020 +0200 +++ b/example/audiophil/Cargo.toml Tue Sep 22 19:08:29 2020 +0200 @@ -13,4 +13,4 @@ tokio = {version = "0.2", features = ["rt-threaded", "net", "macros"] } hyper = "0.13" rex-regex = "0.1" - +async-trait = "0.1"
--- a/example/audiophil/src/audiophil.rs Tue Sep 22 19:01:57 2020 +0200 +++ b/example/audiophil/src/audiophil.rs Tue Sep 22 19:08:29 2020 +0200 @@ -70,8 +70,9 @@ } } +#[async_trait::async_trait] impl driver::Explorer for AudiophilExplorer { - fn idle(&mut self) -> Vec<Uri> { + async fn idle(&mut self) -> Vec<Uri> { self.known.drain(..).collect() } fn next(&mut self, _: &Uri, _: &extract::Document) -> Vec<Uri> {
--- a/src/driver.rs Tue Sep 22 19:01:57 2020 +0200 +++ b/src/driver.rs Tue Sep 22 19:08:29 2020 +0200 @@ -24,7 +24,7 @@ /// driver. All returned Uris are appended to the queue. async fn idle(&mut self) -> Vec<Uri>; /// Return pages to fetch based on a fetched document. - async fn next(&mut self, uri: &Uri, doc: &extract::Document) -> Vec<Uri>; + fn next(&mut self, uri: &Uri, doc: &extract::Document) -> Vec<Uri>; } /// An Extractor retrieves information from a Document. @@ -69,7 +69,7 @@ let doc = extract::parse_response(resp)?; let extracted = self.logic.extract.extract(&uri, &doc); self.logic.store.store(Box::new(extracted.into_iter())); - let next = self.logic.explore.next(&uri, &doc).await; + let next = self.logic.explore.next(&uri, &doc); info!("Appended URIs after fetch: {:?}", next); self.queue.extend(next); return Ok(true);