refactor: refactor subscriptions
This commit is contained in:
@@ -15,3 +15,5 @@ pub const MIKAN_BANGUMI_RSS_PATH: &str = "/RSS/Bangumi";
|
||||
pub const MIKAN_BANGUMI_ID_QUERY_KEY: &str = "bangumiId";
|
||||
pub const MIKAN_FANSUB_ID_QUERY_KEY: &str = "subgroupid";
|
||||
pub const MIKAN_SUBSCRIBER_SUBSCRIPTION_TOKEN_QUERY_KEY: &str = "token";
|
||||
pub const MIKAN_SEASON_STR_QUERY_KEY: &str = "seasonStr";
|
||||
pub const MIKAN_YEAR_QUERY_KEY: &str = "year";
|
||||
|
||||
@@ -12,9 +12,9 @@ pub use constants::{
|
||||
MIKAN_BANGUMI_HOMEPAGE_PATH, MIKAN_BANGUMI_ID_QUERY_KEY, MIKAN_BANGUMI_POSTER_PATH,
|
||||
MIKAN_BANGUMI_RSS_PATH, MIKAN_EPISODE_HOMEPAGE_PATH, MIKAN_EPISODE_TORRENT_PATH,
|
||||
MIKAN_FANSUB_ID_QUERY_KEY, MIKAN_LOGIN_PAGE_PATH, MIKAN_LOGIN_PAGE_SEARCH,
|
||||
MIKAN_POSTER_BUCKET_KEY, MIKAN_SEASON_FLOW_PAGE_PATH, MIKAN_SUBSCRIBER_SUBSCRIPTION_RSS_PATH,
|
||||
MIKAN_SUBSCRIBER_SUBSCRIPTION_TOKEN_QUERY_KEY, MIKAN_UNKNOWN_FANSUB_ID,
|
||||
MIKAN_UNKNOWN_FANSUB_NAME,
|
||||
MIKAN_POSTER_BUCKET_KEY, MIKAN_SEASON_FLOW_PAGE_PATH, MIKAN_SEASON_STR_QUERY_KEY,
|
||||
MIKAN_SUBSCRIBER_SUBSCRIPTION_RSS_PATH, MIKAN_SUBSCRIBER_SUBSCRIPTION_TOKEN_QUERY_KEY,
|
||||
MIKAN_UNKNOWN_FANSUB_ID, MIKAN_UNKNOWN_FANSUB_NAME, MIKAN_YEAR_QUERY_KEY,
|
||||
};
|
||||
pub use credential::MikanCredentialForm;
|
||||
pub use subscription::{
|
||||
|
||||
@@ -23,8 +23,9 @@ use crate::{
|
||||
MIKAN_BANGUMI_EXPAND_SUBSCRIBED_PAGE_PATH, MIKAN_BANGUMI_HOMEPAGE_PATH,
|
||||
MIKAN_BANGUMI_ID_QUERY_KEY, MIKAN_BANGUMI_POSTER_PATH, MIKAN_BANGUMI_RSS_PATH,
|
||||
MIKAN_EPISODE_HOMEPAGE_PATH, MIKAN_FANSUB_ID_QUERY_KEY, MIKAN_POSTER_BUCKET_KEY,
|
||||
MIKAN_SEASON_FLOW_PAGE_PATH, MIKAN_SUBSCRIBER_SUBSCRIPTION_RSS_PATH,
|
||||
MIKAN_SUBSCRIBER_SUBSCRIPTION_TOKEN_QUERY_KEY, MikanClient,
|
||||
MIKAN_SEASON_FLOW_PAGE_PATH, MIKAN_SEASON_STR_QUERY_KEY,
|
||||
MIKAN_SUBSCRIBER_SUBSCRIPTION_RSS_PATH, MIKAN_SUBSCRIBER_SUBSCRIPTION_TOKEN_QUERY_KEY,
|
||||
MIKAN_YEAR_QUERY_KEY, MikanClient,
|
||||
},
|
||||
},
|
||||
storage::{StorageContentCategory, StorageServiceTrait},
|
||||
@@ -421,10 +422,10 @@ impl MikanSeasonFlowUrlMeta {
|
||||
if url.path().starts_with(MIKAN_SEASON_FLOW_PAGE_PATH) {
|
||||
if let (Some(year), Some(season_str)) = (
|
||||
url.query_pairs()
|
||||
.find(|(key, _)| key == "year")
|
||||
.find(|(key, _)| key == MIKAN_YEAR_QUERY_KEY)
|
||||
.and_then(|(_, value)| value.parse::<i32>().ok()),
|
||||
url.query_pairs()
|
||||
.find(|(key, _)| key == "seasonStr")
|
||||
.find(|(key, _)| key == MIKAN_SEASON_STR_QUERY_KEY)
|
||||
.and_then(|(_, value)| MikanSeasonStr::from_str(&value).ok()),
|
||||
) {
|
||||
Some(Self { year, season_str })
|
||||
@@ -455,8 +456,8 @@ pub fn build_mikan_season_flow_url(
|
||||
let mut url = mikan_base_url;
|
||||
url.set_path(MIKAN_SEASON_FLOW_PAGE_PATH);
|
||||
url.query_pairs_mut()
|
||||
.append_pair("year", &year.to_string())
|
||||
.append_pair("seasonStr", &season_str.to_string());
|
||||
.append_pair(MIKAN_YEAR_QUERY_KEY, &year.to_string())
|
||||
.append_pair(MIKAN_SEASON_STR_QUERY_KEY, &season_str.to_string());
|
||||
url
|
||||
}
|
||||
|
||||
@@ -467,7 +468,7 @@ pub fn build_mikan_bangumi_expand_subscribed_url(
|
||||
let mut url = mikan_base_url;
|
||||
url.set_path(MIKAN_BANGUMI_EXPAND_SUBSCRIBED_PAGE_PATH);
|
||||
url.query_pairs_mut()
|
||||
.append_pair("bangumiId", mikan_bangumi_id)
|
||||
.append_pair(MIKAN_BANGUMI_ID_QUERY_KEY, mikan_bangumi_id)
|
||||
.append_pair("showSubscribed", "true");
|
||||
url
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user