pub enum CacheAction {
Clear,
}Expand description
Cache management operations and subcommands.
Defines the available cache management operations that can be performed through the SubX CLI. Each operation targets specific aspects of the cache system to provide granular control over cached data.
§Current Operations
- Clear: Remove all or specific types of cached data
§Future Enhancements
Planned cache operations include:
- Status: View cache size, age, and utilization statistics
- Validate: Check cache integrity and consistency
- Optimize: Compact and defragment cache storage
- Export/Import: Backup and restore cache data
§Examples
use subx_cli::cli::CacheAction;
// Clear all cache data
let clear_action = CacheAction::Clear;Variants§
Clear
Clear all cached data including dry-run results and AI analysis.
This operation removes all cached data from the SubX cache system, including:
§Data Cleared
- Dry-run Results: Cached matching results from preview operations
- AI Analysis Cache: Stored results from AI-powered file matching
- Audio Analysis Cache: Speech pattern detection results
- Temporary Files: Processing artifacts and intermediate data
§Impact
After clearing the cache:
- Next AI operations will require fresh API calls (increased cost/time)
- Audio analysis will need to be re-performed
- Dry-run results will need to be regenerated
- Configuration cache will be rebuilt on next access
§Safety
This operation is safe and non-destructive:
- No actual subtitle or video files are affected
- Only internal cache data is removed
- All data can be regenerated through normal operations
§Examples
# Clear all cache data
subx cache clear§Use Cases
- Development: Reset state between test iterations
- Troubleshooting: Clear potentially corrupted cache data
- Maintenance: Periodic cleanup to reclaim disk space
- Fresh Start: Ensure clean state for important operations
Trait Implementations§
Source§impl Debug for CacheAction
impl Debug for CacheAction
Source§impl FromArgMatches for CacheAction
impl FromArgMatches for CacheAction
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
Assign values from
ArgMatches to self.Source§impl Subcommand for CacheAction
impl Subcommand for CacheAction
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Append to
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Test whether
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for CacheAction
impl RefUnwindSafe for CacheAction
impl Send for CacheAction
impl Sync for CacheAction
impl Unpin for CacheAction
impl UnwindSafe for CacheAction
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.