mirror of
https://github.com/euzu/tuliprox.git
synced 2026-09-29 20:42:31 +02:00
New Features
- Added user_agent configuration field to Trakt API settings. Changes - Renamed Trakt API configuration field from key to api_key for consistency. - Updated README and documentation with new Trakt API configuration structure. - Updated UI labels for API configuration fields.
This commit is contained in:
+1
-1
@@ -31,7 +31,7 @@
|
||||
- '(?i)\bHD\b'
|
||||
- '(?i)\bSD\b'
|
||||
```
|
||||
- Trakt api config field `key` is now `api_key`
|
||||
- Trakt api config field `key` is now `api_key`. Added `user_agent` field to Trakt api config
|
||||
|
||||
## 🌟 New Features
|
||||
- **Discord Notifications**: Support for Discord notifications via webhooks with optional Handlebars templates.
|
||||
|
||||
@@ -4,8 +4,7 @@ use std::path::{Path, PathBuf};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
use log::{error, warn};
|
||||
use shared::concat_string;
|
||||
use crate::repository::storage::{get_input_storage_path, sanitize_name};
|
||||
use crate::repository::storage::{build_input_storage_path, get_input_storage_path};
|
||||
|
||||
pub const STATUS_FILE: &str = "status.json";
|
||||
|
||||
@@ -30,9 +29,7 @@ pub struct InputStatus {
|
||||
|
||||
pub fn resolve_input_storage_path(working_dir: &str, input_name: &str) -> PathBuf {
|
||||
if let Ok(path) = get_input_storage_path(input_name, working_dir) { path } else {
|
||||
let sanitized_name: String = sanitize_name(input_name);
|
||||
let name = concat_string!(cap = 6 + sanitized_name.len(); "input_", &sanitized_name);
|
||||
Path::new(working_dir).join(name)
|
||||
build_input_storage_path(input_name, working_dir)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,10 +34,14 @@ pub fn sanitize_name(name: &str) -> String {
|
||||
.collect()
|
||||
}
|
||||
|
||||
pub fn get_input_storage_path(input_name: &str, working_dir: &str) -> std::io::Result<PathBuf> {
|
||||
pub fn build_input_storage_path(input_name: &str, working_dir: &str) -> PathBuf {
|
||||
let sanitized_name: String = sanitize_name(input_name);
|
||||
let name = concat_string!(cap = 6 + sanitized_name.len(); "input_", &sanitized_name);
|
||||
let path = Path::new(working_dir).join(name);
|
||||
Path::new(working_dir).join(name)
|
||||
}
|
||||
|
||||
pub fn get_input_storage_path(input_name: &str, working_dir: &str) -> std::io::Result<PathBuf> {
|
||||
let path = build_input_storage_path(input_name, working_dir);
|
||||
// Create the directory and return the path or propagate the error
|
||||
std::fs::create_dir_all(&path).map(|()| path)
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ impl TraktClient {
|
||||
}
|
||||
}
|
||||
|
||||
fn create_headers(api_config: &TraktApiConfig) -> axum::http::HeaderMap {
|
||||
fn create_headers(api_config: &TraktApiConfig) -> HeaderMap {
|
||||
let mut headers = HeaderMap::new();
|
||||
|
||||
headers.insert(reqwest::header::CONTENT_TYPE, HeaderValue::from_static(mime::APPLICATION_JSON.as_ref()));
|
||||
|
||||
@@ -219,7 +219,7 @@ pub fn XtreamTargetOutputView(props: &XtreamTargetOutputViewProps) -> Html {
|
||||
{ edit_field_text!(trakt_api, translate.t(LABEL_TRAKT_API_KEY), api_key, TraktApiConfigFormAction::ApiKey) }
|
||||
{ edit_field_text!(trakt_api, translate.t(LABEL_TRAKT_API_VERSION), version, TraktApiConfigFormAction::Version) }
|
||||
{ edit_field_text!(trakt_api, translate.t(LABEL_TRAKT_API_URL), url, TraktApiConfigFormAction::Url) }
|
||||
{ edit_field_text!(trakt_api, translate.t(LABEL_USER_AGENT), url, TraktApiConfigFormAction::UserAgent) }
|
||||
{ edit_field_text!(trakt_api, translate.t(LABEL_USER_AGENT), user_agent, TraktApiConfigFormAction::UserAgent) }
|
||||
</div>
|
||||
|
||||
// Trakt Lists
|
||||
|
||||
Reference in New Issue
Block a user