pub struct ExclusionSet {
pub excluded_workspaces: HashSet<String>,
pub excluded_conversations: HashSet<i64>,
pub excluded_patterns: Vec<Regex>,
pub excluded_pattern_strings: Vec<String>,
}Expand description
Set of exclusions to apply before export.
Fields§
§excluded_workspaces: HashSet<String>Workspaces to exclude (full paths).
excluded_conversations: HashSet<i64>Conversation IDs to exclude.
excluded_patterns: Vec<Regex>Patterns to match against titles for exclusion.
excluded_pattern_strings: Vec<String>Raw pattern strings (for serialization).
Implementations§
Source§impl ExclusionSet
impl ExclusionSet
Sourcepub fn exclude_workspace(&mut self, workspace: &str)
pub fn exclude_workspace(&mut self, workspace: &str)
Add a workspace to exclusions.
Sourcepub fn include_workspace(&mut self, workspace: &str)
pub fn include_workspace(&mut self, workspace: &str)
Remove a workspace from exclusions.
Sourcepub fn exclude_conversation(&mut self, conversation_id: i64)
pub fn exclude_conversation(&mut self, conversation_id: i64)
Add a conversation to exclusions.
Sourcepub fn include_conversation(&mut self, conversation_id: i64)
pub fn include_conversation(&mut self, conversation_id: i64)
Remove a conversation from exclusions.
Sourcepub fn is_workspace_excluded(&self, workspace: &str) -> bool
pub fn is_workspace_excluded(&self, workspace: &str) -> bool
Check if a workspace is excluded.
Sourcepub fn is_conversation_excluded(&self, conversation_id: i64) -> bool
pub fn is_conversation_excluded(&self, conversation_id: i64) -> bool
Check if a conversation is excluded.
Sourcepub fn is_excluded(&self, title: &str) -> bool
pub fn is_excluded(&self, title: &str) -> bool
Check if a title matches any exclusion pattern.
Sourcepub fn add_pattern(&mut self, pattern: &str) -> Result<()>
pub fn add_pattern(&mut self, pattern: &str) -> Result<()>
Add a title pattern to exclusions.
Sourcepub fn should_exclude(
&self,
workspace: Option<&str>,
conversation_id: i64,
title: &str,
) -> bool
pub fn should_exclude( &self, workspace: Option<&str>, conversation_id: i64, title: &str, ) -> bool
Check if an item should be excluded based on all criteria.
Sourcepub fn exclusion_counts(&self) -> (usize, usize, usize)
pub fn exclusion_counts(&self) -> (usize, usize, usize)
Get the count of excluded items.
Sourcepub fn has_exclusions(&self) -> bool
pub fn has_exclusions(&self) -> bool
Check if any exclusions are active.
Sourcepub fn compile_patterns(&mut self) -> Result<()>
pub fn compile_patterns(&mut self) -> Result<()>
Re-compile patterns from strings (for deserialization).
Trait Implementations§
Source§impl Clone for ExclusionSet
impl Clone for ExclusionSet
Source§fn clone(&self) -> ExclusionSet
fn clone(&self) -> ExclusionSet
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExclusionSet
impl Debug for ExclusionSet
Source§impl Default for ExclusionSet
impl Default for ExclusionSet
Source§fn default() -> ExclusionSet
fn default() -> ExclusionSet
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ExclusionSet
impl<'de> Deserialize<'de> for ExclusionSet
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ExclusionSet
impl RefUnwindSafe for ExclusionSet
impl Send for ExclusionSet
impl Sync for ExclusionSet
impl Unpin for ExclusionSet
impl UnsafeUnpin for ExclusionSet
impl UnwindSafe for ExclusionSet
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).
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<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().