pub struct MatchEngine { /* private fields */ }Expand description
Engine for matching video and subtitle files using AI analysis.
Implementations§
Source§impl MatchEngine
impl MatchEngine
Sourcepub fn new(ai_client: Box<dyn AIProvider>, config: MatchConfig) -> Self
pub fn new(ai_client: Box<dyn AIProvider>, config: MatchConfig) -> Self
Creates a new MatchEngine with the given AI provider and configuration.
Sourcepub async fn match_files(
&self,
path: &Path,
recursive: bool,
) -> Result<Vec<MatchOperation>>
pub async fn match_files( &self, path: &Path, recursive: bool, ) -> Result<Vec<MatchOperation>>
Sourcepub async fn execute_operations(
&self,
operations: &[MatchOperation],
dry_run: bool,
) -> Result<()>
pub async fn execute_operations( &self, operations: &[MatchOperation], dry_run: bool, ) -> Result<()>
Execute match operations with dry-run mode support
Sourcepub async fn check_cache(
&self,
directory: &Path,
recursive: bool,
) -> Result<Option<Vec<MatchOperation>>>
pub async fn check_cache( &self, directory: &Path, recursive: bool, ) -> Result<Option<Vec<MatchOperation>>>
Check dry-run cache, return previous calculated match operations if hit
Sourcepub async fn save_cache(
&self,
directory: &Path,
recursive: bool,
operations: &[MatchOperation],
) -> Result<()>
pub async fn save_cache( &self, directory: &Path, recursive: bool, operations: &[MatchOperation], ) -> Result<()>
Save dry-run cache results
Auto Trait Implementations§
impl Freeze for MatchEngine
impl !RefUnwindSafe for MatchEngine
impl Send for MatchEngine
impl Sync for MatchEngine
impl Unpin for MatchEngine
impl !UnwindSafe for MatchEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.