Utility functions for jnovel module

This commit is contained in:
Neshura 2023-12-17 14:42:00 +01:00
parent d32e1001a1
commit da9505cd61
Signed by: Neshura
GPG key ID: B6983AAA6B9A7A6C

View file

@ -74,8 +74,8 @@ pub(crate) struct ChapterDetail {
#[derive(Debug, Clone)]
pub(crate) struct LemmyPostInfo {
title: String,
url: Url,
pub(crate) title: String,
pub(crate) url: Url,
}
#[derive(Debug, Copy, Clone)]
@ -102,6 +102,10 @@ impl PartInfo {
NoParts => 0,
}
}
pub(crate) fn as_string(&self) -> String {
self.as_u8().to_string()
}
}
impl PartialEq for PartInfo {
@ -148,6 +152,22 @@ pub(crate) enum PostInfo {
Volume { part: PartInfo, lemmy_info: LemmyPostInfo },
}
impl PostInfo {
pub(crate) fn get_part_info(&self) -> PartInfo {
match self {
Chapter {part: part_info, ..} => *part_info,
Volume {part: part_info, ..} => *part_info
}
}
pub(crate) fn get_lemmy_info(&self) -> LemmyPostInfo {
match self {
Chapter {lemmy_info: lemmy_info, ..} => lemmy_info.clone(),
Volume {lemmy_info: lemmy_info, ..} => lemmy_info.clone()
}
}
}
impl PartialEq for PostInfo {
fn eq(&self, other: &Self) -> bool {
let self_part = match self {