Fix extraction of YouTube chapters (#531)

YouTube changed the name of the chapters in the JSON from engagement-panel-macro-markers to engagement-panel-macro-markers-description-chapters, so extracting chapters doesn't work.
pull/533/head
TiA4f8R 2021-02-03 22:07:34 +01:00 zatwierdzone przez GitHub
rodzic bfa639950e
commit 1414a6f178
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 4 dodań i 3 usunięć

Wyświetl plik

@ -1079,8 +1079,10 @@ public class YoutubeStreamExtractor extends StreamExtractor {
// Search for correct panel containing the data
for (int i = 0; i < panels.size(); i++) {
if (panels.getObject(i).getObject("engagementPanelSectionListRenderer")
.getString("panelIdentifier").equals("engagement-panel-macro-markers")) {
final String panelIdentifier = panels.getObject(i).getObject("engagementPanelSectionListRenderer")
.getString("panelIdentifier");
if (panelIdentifier.equals("engagement-panel-macro-markers-description-chapters")
|| panelIdentifier.equals("engagement-panel-macro-markers")) {
segmentsArray = panels.getObject(i).getObject("engagementPanelSectionListRenderer")
.getObject("content").getObject("macroMarkersListRenderer").getArray("contents");
break;

Wyświetl plik

@ -259,7 +259,6 @@ public class YoutubeStreamExtractorDefaultTest {
@Override public int expectedStreamSegmentsCount() { return 7; }
@Test
@Ignore("TODO fix")
public void testStreamSegment() throws Exception {
final StreamSegment segment = extractor.getStreamSegments().get(1);
assertEquals(164, segment.getStartTimeSeconds());