feat(arr): drop unused podnapisi credentials
Podnapisi's search and download are unauthenticated (#188), so the ARR_PODNAPISI_USERNAME/PASSWORD fields were config nothing read. §10 keeps bootstrap config an honest list.
This commit is contained in:
@@ -36,8 +36,8 @@ pub const ENV_NTFY_OPERATOR_TOPIC: &str = "ARR_NTFY_OPERATOR_TOPIC";
|
||||
pub const ENV_OPENSUBTITLES_API_KEY: &str = "ARR_OPENSUBTITLES_API_KEY";
|
||||
pub const ENV_OPENSUBTITLES_USERNAME: &str = "ARR_OPENSUBTITLES_USERNAME";
|
||||
pub const ENV_OPENSUBTITLES_PASSWORD: &str = "ARR_OPENSUBTITLES_PASSWORD";
|
||||
pub const ENV_PODNAPISI_USERNAME: &str = "ARR_PODNAPISI_USERNAME";
|
||||
pub const ENV_PODNAPISI_PASSWORD: &str = "ARR_PODNAPISI_PASSWORD";
|
||||
// Podnapisi takes no credentials (#215): its search and download are
|
||||
// unauthenticated, so there is nothing here for an operator to set.
|
||||
pub const ENV_TRANSLATE_OPENAI_API_KEY: &str = "ARR_TRANSLATE_OPENAI_API_KEY";
|
||||
pub const ENV_TRANSLATE_OPENAI_BASE_URL: &str = "ARR_TRANSLATE_OPENAI_BASE_URL";
|
||||
pub const ENV_TRANSLATE_OPENAI_MODEL: &str = "ARR_TRANSLATE_OPENAI_MODEL";
|
||||
@@ -178,8 +178,6 @@ pub struct EnvOverrides {
|
||||
pub opensubtitles_api_key: Option<String>,
|
||||
pub opensubtitles_username: Option<String>,
|
||||
pub opensubtitles_password: Option<String>,
|
||||
pub podnapisi_username: Option<String>,
|
||||
pub podnapisi_password: Option<String>,
|
||||
pub translate_openai_api_key: Option<String>,
|
||||
pub translate_openai_base_url: Option<String>,
|
||||
pub translate_openai_model: Option<String>,
|
||||
@@ -215,8 +213,6 @@ impl EnvOverrides {
|
||||
opensubtitles_api_key: std::env::var(ENV_OPENSUBTITLES_API_KEY).ok(),
|
||||
opensubtitles_username: std::env::var(ENV_OPENSUBTITLES_USERNAME).ok(),
|
||||
opensubtitles_password: std::env::var(ENV_OPENSUBTITLES_PASSWORD).ok(),
|
||||
podnapisi_username: std::env::var(ENV_PODNAPISI_USERNAME).ok(),
|
||||
podnapisi_password: std::env::var(ENV_PODNAPISI_PASSWORD).ok(),
|
||||
translate_openai_api_key: std::env::var(ENV_TRANSLATE_OPENAI_API_KEY).ok(),
|
||||
translate_openai_base_url: std::env::var(ENV_TRANSLATE_OPENAI_BASE_URL).ok(),
|
||||
translate_openai_model: std::env::var(ENV_TRANSLATE_OPENAI_MODEL).ok(),
|
||||
@@ -265,8 +261,6 @@ pub struct Config {
|
||||
pub opensubtitles_api_key: Option<String>,
|
||||
pub opensubtitles_username: Option<String>,
|
||||
pub opensubtitles_password: Option<String>,
|
||||
pub podnapisi_username: Option<String>,
|
||||
pub podnapisi_password: Option<String>,
|
||||
pub translate_openai_api_key: Option<String>,
|
||||
/// §15. No default: an OpenAI-compatible endpoint has no universal
|
||||
/// address the way `DeepL` or Google Translate do.
|
||||
@@ -299,8 +293,6 @@ struct SubtitleBootstrap {
|
||||
opensubtitles_api_key: Option<String>,
|
||||
opensubtitles_username: Option<String>,
|
||||
opensubtitles_password: Option<String>,
|
||||
podnapisi_username: Option<String>,
|
||||
podnapisi_password: Option<String>,
|
||||
translate_openai_api_key: Option<String>,
|
||||
translate_openai_base_url: Option<String>,
|
||||
translate_openai_model: String,
|
||||
@@ -318,8 +310,6 @@ fn resolve_subtitle_bootstrap(env: &EnvOverrides, file: &ConfigFile) -> Subtitle
|
||||
opensubtitles_api_key: env.opensubtitles_api_key.clone(),
|
||||
opensubtitles_username: env.opensubtitles_username.clone(),
|
||||
opensubtitles_password: env.opensubtitles_password.clone(),
|
||||
podnapisi_username: env.podnapisi_username.clone(),
|
||||
podnapisi_password: env.podnapisi_password.clone(),
|
||||
translate_openai_api_key: env.translate_openai_api_key.clone(),
|
||||
translate_openai_base_url: env
|
||||
.translate_openai_base_url
|
||||
@@ -443,8 +433,6 @@ impl Config {
|
||||
opensubtitles_api_key: subtitles.opensubtitles_api_key,
|
||||
opensubtitles_username: subtitles.opensubtitles_username,
|
||||
opensubtitles_password: subtitles.opensubtitles_password,
|
||||
podnapisi_username: subtitles.podnapisi_username,
|
||||
podnapisi_password: subtitles.podnapisi_password,
|
||||
translate_openai_api_key: subtitles.translate_openai_api_key,
|
||||
translate_openai_base_url: subtitles.translate_openai_base_url,
|
||||
translate_openai_model: subtitles.translate_openai_model,
|
||||
@@ -502,7 +490,6 @@ mod tests {
|
||||
assert_eq!(config.tmdb_api_key, None);
|
||||
assert_eq!(config.jellyfin_api_key, None);
|
||||
assert_eq!(config.opensubtitles_api_key, None);
|
||||
assert_eq!(config.podnapisi_username, None);
|
||||
assert_eq!(config.translate_command_template, None);
|
||||
assert_eq!(
|
||||
config.translate_openai_model,
|
||||
@@ -578,16 +565,15 @@ prowlarr_url = "http://prowlarr.internal:9696"
|
||||
assert_eq!(config.jellyfin_api_key.as_deref(), Some("secret-3"));
|
||||
}
|
||||
|
||||
/// §15: `OpenSubtitles`, Podnapisi and every translator's credentials are
|
||||
/// secrets, so this mirrors [`secrets_come_only_from_env`] for them.
|
||||
/// §15: `OpenSubtitles` and every translator's credentials are secrets,
|
||||
/// so this mirrors [`secrets_come_only_from_env`] for them. Podnapisi has
|
||||
/// no entry: it takes no credentials at all (#215).
|
||||
#[test]
|
||||
fn subtitle_secrets_come_only_from_env() {
|
||||
let env = EnvOverrides {
|
||||
opensubtitles_api_key: Some("os-key".into()),
|
||||
opensubtitles_username: Some("os-user".into()),
|
||||
opensubtitles_password: Some("os-pass".into()),
|
||||
podnapisi_username: Some("pod-user".into()),
|
||||
podnapisi_password: Some("pod-pass".into()),
|
||||
translate_openai_api_key: Some("oa-key".into()),
|
||||
translate_deepl_api_key: Some("dl-key".into()),
|
||||
translate_google_api_key: Some("gg-key".into()),
|
||||
@@ -597,8 +583,6 @@ prowlarr_url = "http://prowlarr.internal:9696"
|
||||
assert_eq!(config.opensubtitles_api_key.as_deref(), Some("os-key"));
|
||||
assert_eq!(config.opensubtitles_username.as_deref(), Some("os-user"));
|
||||
assert_eq!(config.opensubtitles_password.as_deref(), Some("os-pass"));
|
||||
assert_eq!(config.podnapisi_username.as_deref(), Some("pod-user"));
|
||||
assert_eq!(config.podnapisi_password.as_deref(), Some("pod-pass"));
|
||||
assert_eq!(config.translate_openai_api_key.as_deref(), Some("oa-key"));
|
||||
assert_eq!(config.translate_deepl_api_key.as_deref(), Some("dl-key"));
|
||||
assert_eq!(config.translate_google_api_key.as_deref(), Some("gg-key"));
|
||||
|
||||
Reference in New Issue
Block a user