Refactored m3u playlist parsing for playlists with missing group and id information in header.

This commit is contained in:
euzu
2024-03-26 01:04:21 +01:00
parent 4b5e295949
commit 30650be0ad
19 changed files with 435 additions and 397 deletions
+14
View File
@@ -0,0 +1,14 @@
// other implementations like calculating text_distance on all titles took too much time
// we keep it now as simple as possible and less memory intensive.
pub (crate) fn get_title_group(text: &str) -> String {
let alphabetic_only: String = text.chars().map(|c| if c.is_alphanumeric() { c } else { ' ' }).collect();
let parts = alphabetic_only.split_whitespace();
let mut combination = "".to_string();
for p in parts.into_iter() {
combination = format!("{} {}", combination, p).trim().to_string();
if combination.len() > 2 {
return combination;
}
}
text.to_string()
}