pull/1208/merge
wispl 2025-09-14 17:52:47 +02:00 zatwierdzone przez GitHub
commit 37c952dda2
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
4 zmienionych plików z 46 dodań i 0 usunięć

Wyświetl plik

@ -174,4 +174,26 @@ public class YoutubeMusicSongOrVideoInfoItemExtractor implements StreamInfoItemE
throw new ParsingException("Could not get thumbnails", e);
}
}
@Override
public String getPlaylistId() throws ParsingException {
if (searchType.equals(MUSIC_SONGS)) {
for (final Object item : descriptionElements) {
final JsonObject browseEndpoint = ((JsonObject) item)
.getObject("navigationEndpoint")
.getObject("browseEndpoint");
final String type = browseEndpoint
.getObject("browseEndpointContextSupportedConfigs")
.getObject("browseEndpointContextMusicConfig")
.getString("pageType");
if (type != null && type.equals("MUSIC_PAGE_TYPE_ALBUM")) {
return browseEndpoint.getString("browseId");
}
}
}
// handles singles, video, and others which may not belong in playlist
return "";
}
}

Wyświetl plik

@ -37,6 +37,7 @@ public class StreamInfoItem extends InfoItem {
private String uploaderName;
private String shortDescription;
private String textualUploadDate;
private String playlistId;
@Nullable
private DateWrapper uploadDate;
private long viewCount = -1;
@ -118,6 +119,14 @@ public class StreamInfoItem extends InfoItem {
this.textualUploadDate = textualUploadDate;
}
public String getPlaylistId() {
return playlistId;
}
public void setPlaylistId(final String playlistId) {
this.playlistId = playlistId;
}
@Nullable
public DateWrapper getUploadDate() {
return uploadDate;

Wyświetl plik

@ -147,4 +147,14 @@ public interface StreamInfoItemExtractor extends InfoItemExtractor {
default boolean isShortFormContent() throws ParsingException {
return false;
}
/**
* Gets the playlist id of the stream item.
*
* @return the playlist id of the stream item.
* @throws ParsingException if there is an error in the extraction
*/
default String getPlaylistId() throws ParsingException {
return "";
}
}

Wyświetl plik

@ -103,6 +103,11 @@ public class StreamInfoItemsCollector
} catch (final Exception e) {
addError(e);
}
try {
resultItem.setPlaylistId(extractor.getPlaylistId());
} catch (final Exception e) {
addError(e);
}
return resultItem;
}