Extractor rewrite
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
use chrono::{DateTime, Utc};
|
||||
use pile_config::{ConfigToml, Label, Source, objectpath::ObjectPath};
|
||||
use pile_toolbox::cancelabletask::{CancelFlag, CancelableTaskError};
|
||||
use pile_value::{
|
||||
source::{DataSource, DirDataSource, S3DataSource, misc::path_ts_earliest},
|
||||
value::{Item, PileValue},
|
||||
};
|
||||
use serde_json::Value;
|
||||
use std::{collections::HashMap, io::ErrorKind, path::PathBuf, sync::Arc, time::Instant};
|
||||
use tantivy::{Executor, Index, IndexWriter, TantivyError, collector::TopDocs};
|
||||
@@ -9,13 +13,7 @@ use tokio::task::JoinSet;
|
||||
use tokio_stream::{StreamExt, wrappers::ReceiverStream};
|
||||
use tracing::{debug, info, trace, warn};
|
||||
|
||||
use crate::{
|
||||
DataSource, Item, PileValue,
|
||||
extract::MetaExtractor,
|
||||
index::{DbFtsIndex, FtsLookupResult},
|
||||
path_ts_earliest,
|
||||
source::{DirDataSource, S3DataSource},
|
||||
};
|
||||
use crate::index::{DbFtsIndex, FtsLookupResult};
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
pub enum DatasetError {
|
||||
@@ -183,11 +181,12 @@ impl Datasets {
|
||||
let Some(item) = self.get(source, key).await else {
|
||||
return Ok(None);
|
||||
};
|
||||
let extractor = MetaExtractor::new(&item);
|
||||
let root = PileValue::ObjectExtractor(Arc::new(extractor));
|
||||
let Some(value) = root.query(path).await? else {
|
||||
|
||||
let item = PileValue::Item(item);
|
||||
let Some(value) = item.query(path).await? else {
|
||||
return Ok(None);
|
||||
};
|
||||
|
||||
Ok(Some(value.to_json().await?))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user