улучшено debug-логирование и обработка путей
- Добавлен детальный вывод при парсинге листа TEAMS - Добавлен вывод поиска логотипов и сводка по отсутствующим - Исправлен порядок инициализации RUST_LOG - Добавлена поддержка smb:// путей в unc_to_uri
This commit is contained in:
@@ -537,15 +537,23 @@ impl LogoRegistry {
|
||||
self.logos.insert((team, sport), link);
|
||||
}
|
||||
|
||||
// В impl LogoRegistry, функция find()
|
||||
pub fn find(&self, team: &str, sport: &str) -> Option<String> {
|
||||
log::debug!("LogoRegistry::find: team='{}', sport='{}'", team, sport);
|
||||
|
||||
if let Some(link) = self.logos.get(&(team.to_string(), sport.to_string())) {
|
||||
log::debug!("Found exact match: {}", link);
|
||||
return Some(link.clone());
|
||||
}
|
||||
|
||||
for ((t, s), link) in &self.logos {
|
||||
if s == sport && team.starts_with(t) {
|
||||
log::debug!("Found prefix match: t='{}', link='{}'", t, link);
|
||||
return Some(link.clone());
|
||||
}
|
||||
}
|
||||
|
||||
log::warn!("No logo found for team='{}', sport='{}'", team, sport);
|
||||
None
|
||||
}
|
||||
}
|
||||
@@ -603,12 +611,26 @@ fn unc_to_uri(path: &str) -> String {
|
||||
if path.is_empty() {
|
||||
return String::new();
|
||||
}
|
||||
|
||||
// Уже правильный URI
|
||||
if path.starts_with("http://") || path.starts_with("https://") || path.starts_with("file://") {
|
||||
return path.to_string();
|
||||
}
|
||||
format!("file://{}", path.replace('\\', "/").trim_start_matches('/'))
|
||||
}
|
||||
|
||||
// Mac SMB путь: smb://server/share/path -> file://server/share/path
|
||||
if path.starts_with("smb://") {
|
||||
let without_smb = path.strip_prefix("smb:").unwrap_or(path);
|
||||
return format!("file:{}", without_smb.replace('\\', "/"));
|
||||
}
|
||||
|
||||
// Windows UNC путь: \\server\share\path -> file://server/share/path
|
||||
let normalized = path.replace('\\', "/");
|
||||
|
||||
// Убираем ведущие слеши (для UNC их быть не должно)
|
||||
let trimmed = normalized.trim_start_matches('/');
|
||||
|
||||
format!("file://{}", trimmed)
|
||||
}
|
||||
fn logo_scale_expression(target_size: &str) -> String {
|
||||
format!(
|
||||
"if (width > height) {{max_size = width;}} else {{max_size = height;}} var real_size = {}/max_size*100;[real_size,real_size]",
|
||||
|
||||
Reference in New Issue
Block a user