refactor: deduplicate & other code quality fixes

This commit is contained in:
edde746
2025-11-16 22:42:04 +01:00
parent 0c23de9ede
commit a952ab0a00
28 changed files with 1464 additions and 1927 deletions
+7 -12
View File
@@ -23,9 +23,10 @@ class PlexHub {
factory PlexHub.fromJson(Map<String, dynamic> json) {
final metadataList = <PlexMetadata>[];
// Hubs can contain either Metadata or Directory entries
if (json['Metadata'] != null) {
for (final item in json['Metadata'] as List) {
// Helper function to parse entries from a JSON list
void parseEntries(List? entries) {
if (entries == null) return;
for (final item in entries) {
try {
metadataList.add(PlexMetadata.fromJson(item));
} catch (e) {
@@ -34,15 +35,9 @@ class PlexHub {
}
}
if (json['Directory'] != null) {
for (final item in json['Directory'] as List) {
try {
metadataList.add(PlexMetadata.fromJson(item));
} catch (e) {
// Skip items that fail to parse
}
}
}
// Hubs can contain either Metadata or Directory entries
parseEntries(json['Metadata'] as List?);
parseEntries(json['Directory'] as List?);
return PlexHub(
hubKey: json['key'] as String? ?? '',