Commit Graph

384 Commits

Author SHA1 Message Date
Stypox 1e1100ef76
Update extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2020-01-20 22:52:36 +01:00
TobiGr 2308b074f0 [MediaCCC] Fix testGetTextualUploadDate() 2020-01-20 22:12:39 +01:00
TobiGr 089dbe8afb Fix StreamLinkHandlerFactoryTest by passing baseUrl to vdn.youtube urls 2020-01-20 22:10:18 +01:00
B0pol f403490bd9
Refactoring
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2020-01-20 21:28:26 +01:00
TobiGr 69ccb7e69d Update subtitle tests comments 2020-01-20 21:25:47 +01:00
TobiGr 7943130307 Throw IllegalArgumentException when url is null in LinkHandlerFactory 2020-01-20 21:25:16 +01:00
TobiGr 39de55dcd3 [YouTube] Fix and move streamCountTest 2020-01-20 21:24:51 +01:00
bopol ad7f97ae83 fix PeerTube description and add more description tests
actually, the max description length is 250 after request with our extractor.
during my tests, I made API requests with Firefox, copy/pasted into echo "insert description" | wc, and it was giving a wrong length, maybe due to the escapers, I have no idea
anyway, it's now fixed
2020-01-20 15:14:23 +01:00
bopol b382416372 changed the way to extract peertube description
if the description length is above 254, and ends with ..., it means the description we got from the first request is shortened.
why above 254: because in fact, shortened descriptions length are between 255 : https://framatube.org/videos/watch/24efbe1b-73c0-4d72-a3ff-77c8b32d3fcd
https://framatube.org/videos/watch/1ca99f40-fb5b-4fa4-abe5-4d54325df7fc
and 269: https://framatube.org/videos/watch/4d661d5f-a884-4510-bca8-15cb19aa3fe5

also fixed a typo in StreamExtractor.java
2020-01-20 14:36:12 +01:00
bopol a281519e77 added metadata, fix descriptions, fix thumbnail, update tests
thumbnail: quality before: https://peertube.cpy.re/static/thumbnails/d2a5ec78-5f85-4090-8ec5-dc1102e022ea.jpg
quality after: https://peertube.cpy.re/static/previews/d2a5ec78-5f85-4090-8ec5-dc1102e022ea.jpg

description: we were getting about the first 260 characters, we now get full description (with fallback to first 260 chars if the get request for full description fails)
test: updated tests to match description, also changed some test: it was assertEquals(extracted, expected), but the proper way to do it is assertEquals(expected, extracted)

metadata: got host, privacy (public, private, unlisted), licence, language, tags
2020-01-20 12:22:33 +01:00
Tobias Groza 2ee558fbe7
Merge pull request #237 from B0pol/fix_invidious_comments
Fix invidious comments
2020-01-17 22:55:51 +01:00
Tobias Groza 5a259fca94
Merge pull request #238 from B0pol/c_links_support
add support to /c/shortened_url channel links
2020-01-17 22:53:46 +01:00
bopol 221e8dd171 changed assertTrue(string.equals(string)) to assertEquals(string, string) 2020-01-17 21:24:52 +01:00
bopol 5e81ed1dff add support to /c/shortened_url channel links 2020-01-17 19:27:54 +01:00
B0pol 7e8d00981f changed getId() to remove duplicate code 2020-01-17 13:44:55 +01:00
B0pol 02930d08f1 added comments test for invidious 2020-01-17 12:58:50 +01:00
B0pol a12c0e2a37 fix:invidious: getID and onAccpetURl for comments 2020-01-17 12:09:59 +01:00
B0pol 3743c60695 fix: typos in Test 2020-01-15 14:27:52 +01:00
Stypox 0567c20549
Merge branch 'dev' into yt-stream-ext 2020-01-07 00:10:06 +01:00
Stypox 7ba04836eb
Add tests for ratings in yt stream extractor tests 2020-01-06 23:57:08 +01:00
Stypox 1bb6cdee22
Enable commented-out test for yt stream extractor 2020-01-06 21:43:24 +01:00
Stypox d5ca02f3f6
Fix test failing because music channel could be Vevo
In yt stream extractor test.
The Vevo and the normal music channel are equivalent, so Youtube picks one of them at random, and in playerResponse the channel id is Vevo's one.
2020-01-06 21:41:15 +01:00
Stypox 1689037b01
Fix getLength() tests now that the value is rounded (not floor-ed)
In yt stream extractor
2020-01-06 20:49:08 +01:00
Stypox 1ed89aad3e
Use more often playerResponse in yt stream extractor
This enhances performance and should make the extractor more reliable since it get info from a stable json structure that shouldn't be subject to many changes. Fallback html methods have been kept. In case of error the thrown exception contains the data about the playerResponse failure, that should be clearer than a NPE caused by not-found html tags.
2020-01-06 20:45:57 +01:00
pihug12 d4e0930f44 [Soundcloud] Update client_id 2019-12-31 23:36:23 +01:00
Tobias Groza d83787a5ca
Merge pull request #226 from 7FM/dev
fix switching on null causing NPE
2019-12-31 00:26:27 +01:00
TobiGr 0b6e37e71f Improve YouTubeSearchPagingtest 2019-12-31 00:18:53 +01:00
Zsombor Gegesy 64729e5357 Improve the tests 2019-12-29 23:14:55 +01:00
Zsombor Gegesy 68b0fd9650 Add test for search paging 2019-12-29 23:14:55 +01:00
Zsombor Gegesy 2123b3abd3 Fix search result paging - due to the way as the InfoItemsSearchCollector are re-used,
the returned item list just grows, which cause that same videos are returned.
2019-12-29 23:14:55 +01:00
Zsombor Gegesy 0a3422a591 Fix invalid jsoup query 2019-12-26 14:03:40 +01:00
7FM fd5ed07d33
Merge branch 'dev' into dev 2019-12-22 12:33:26 +01:00
TobiGr 8e53fdad16 [SoundCloud] Fix getAudioStreams 401 response
Fix TeamNewPipe/NewPipe#2823
2019-12-22 00:42:07 +01:00
7FM f57d9d43ce fix switching on null causing NPE 2019-12-21 14:15:42 +01:00
TobiGr 54d1a1a831 Fix SoundCloud client_id extraction and update SoundCloud client_id
Don't throw exception when hard coded client_id is wrong.
Addresses TeamNewPipe/NewPipe#2823
2019-12-12 18:01:48 +01:00
Redirion 035994b3cf
Update PlaylistInfo.java
added missing imports
2019-12-09 16:55:28 +01:00
Redirion e98112ea21
Update PlaylistInfo.java
Fixed typo
2019-12-07 14:34:15 +01:00
Redirion cdf41b868c
Allow PlayLists with missing uploader
This supports PR 2724 in NewPipe
2019-12-07 12:49:42 +01:00
yausername 00c23683b1
Merge remote-tracking branch 'upstream/dev' into peertube 2019-12-03 00:45:03 +05:30
yausername 5115541268
fix peertube trending, added most-liked kiosk 2019-12-03 00:42:06 +05:30
kapodamy c1d39f692d
Merge branch 'dev' into yt-webm-opus 2019-11-24 11:56:16 -03:00
yausername 6a7680ce17 added instance getter 2019-11-24 03:38:27 +05:30
yausername 281ccea39f [peertube] constant name for service 2019-11-24 02:35:41 +05:30
yausername bc75c6603b added getBaseUrl method to linkhandler 2019-11-23 00:05:49 +05:30
yausername 279f175693 validate peertube instance 2019-11-22 22:59:14 +05:30
yausername 4e0adbefbc [peertube] use baseUrl instead of global instance url 2019-11-21 05:35:22 +05:30
yausername 8a7aa6b9a9 added baseUrl param in linkhandlers. Required for multi instance services 2019-11-21 05:00:09 +05:30
yausername f3a59a6cdc merged upstream/dev 2019-11-20 03:08:17 +05:30
Mauricio Colli 0c6e2c8f23 Revert "Temp Commit: Ignore Test (Remove this before merge)"
This reverts commit 6ca4c8986a.
2019-11-18 10:09:18 +01:00
yausername 318f600527 add subtitles support for peertube 2019-11-16 04:30:13 +05:30
yausername bb5ad49fac fix html comments 2019-11-16 03:20:35 +05:30
yausername 193442d01c add original url for share 2019-11-16 02:42:39 +05:30
yausername d7582734e7 merged upstream/dev 2019-11-16 00:07:45 +05:30
Mauricio Colli 3d21ef5dba
Introduce class that indicates when the time ago is an approximation 2019-11-03 15:46:28 -03:00
Mauricio Colli 6ca4c8986a
Temp Commit: Ignore Test (Remove this before merge) 2019-11-03 15:46:27 -03:00
Mauricio Colli 41b51adceb
[YouTube] Force english as the only supported language (#196) 2019-11-03 15:46:25 -03:00
Mauricio Colli cb1e327a6e
[YouTube] Fix parsing of video reminders 2019-11-03 15:46:23 -03:00
Mauricio Colli d8280ce0da
[YouTube] Parse watching count in live streams items 2019-11-03 15:46:22 -03:00
Mauricio Colli 3638f0e0ea
Implement time ago parser and improve localization handling
- Handle special cases for languages where the number is not shown
- Rework the Downloader base implementation, allowing for more
advanced things to be done
- Separate the localization from the content country (just like
YouTube let's the user choose both).
2019-11-03 15:46:21 -03:00
wojcik-online 180836c180
Base Implementation: Parse the upload date of StreamInfoItems
In the format '2 days ago' (in English) on a YouTube channel page.
(Parser extensible to other pages.)
2019-11-03 15:46:20 -03:00
Mauricio Colli c4fe2183ce
[YouTube] Improve detection of reCAPTCHA pages 2019-10-29 02:00:41 -03:00
Mauricio Colli 9a325b280d
[YouTube] Make detection of age restricted pages more reliable 2019-10-29 02:00:40 -03:00
Mauricio Colli 91c360df5e
Remove section of dead code 2019-10-29 02:00:39 -03:00
Mauricio Colli ddd563fe78 [SoundCloud] Add test for hardcoded client id 2019-10-23 16:54:20 +02:00
Mauricio Colli 4fc18a6994 [SoundCloud] Fix extraction of client id
- Hardcoded id and check at the first usage.
- As a fallback, and considering that the scripts containing the client
id were all split up, try searching it in each of them.
2019-10-23 16:54:20 +02:00
Mauricio Colli 250c0bb1e8 Add head request to the current downloader implementation 2019-10-23 16:54:20 +02:00
kapodamy 3c6e93c96a
Merge branch 'dev' into yt-webm-opus 2019-10-12 14:01:50 -03:00
Tobias Groza 06f2144e4d
[YouTube] Remove GEMA exception handling (#202) 2019-10-05 14:59:05 +02:00
kapodamy 95f93bc71c
Merge branch 'dev' into yt-webm-opus 2019-10-01 13:11:43 -03:00
Stypox fbb9a86c9f
Merge branch 'dev' into yt-webm-opus 2019-09-29 18:16:14 +02:00
Vasiliy d8279f91f6
Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipeExtractor into feature/frames 2019-09-28 14:46:14 +03:00
TobiGr 8ab48c62b9 [YouTube] Fix NPE in ChennelExtractor.getSubsciberCount() 2019-09-25 08:57:08 +02:00
TobiGr 0710f31a39 Fix TeamNewPipe/NewPipeExtractor#197 2019-09-25 08:37:26 +02:00
Stypox d1cd341592 Change comment 2019-09-25 08:32:00 +02:00
Stypox f6088c4fc1 Add test for Eminem channel (it has no "Subscribe" button) 2019-09-25 08:32:00 +02:00
Stypox 35921345d9 Use Exception instead of Throwable (more consistent) 2019-09-25 08:32:00 +02:00
Stypox db3596c818 Fix "Could not get id" for channels w/o "Subscribe" button 2019-09-25 08:32:00 +02:00
Stypox 94e7f0d3ab Fix fallback method is not tried on exception
in YoutubeChannelInfoItem.getUrl()
2019-09-25 08:32:00 +02:00
kapodamy 12008fc6bb Update MediaFormat.java
declare WEBMA_OPUS
2019-09-23 21:25:19 -03:00
kapodamy 5f3c2f5622 Update ItagItem.java 2019-09-23 21:25:19 -03:00
TobiGr 6d504e0883 Add test for mixedNumberWordToLong method
Add Billion to mixedNumberWordToLong
2019-09-17 09:15:05 +02:00
TobiGr 06016d1ae3 Fix YouTube subscriber count
Modify test to fail on too small subscriber count
2019-09-16 23:16:05 +02:00
Tobias Groza dbdd9ed083
Merge pull request #195 from Stypox/livestream-fix
Fix livestreams
2019-09-12 22:40:44 +02:00
toehead2001 b709529cb6 Add link handler tests for music.youtube.com 2019-09-12 12:16:30 -06:00
toehead2001 075e6d51d6 Add music.youtube.com to link handler 2019-09-12 12:16:30 -06:00
Stypox 1a1672248a
Eliminate Android Studio warnings in livestream test 2019-09-12 15:11:23 +02:00
Stypox 3f1ba93be5
Fix NPE when extracting itags with non-existing streamingData key 2019-09-12 15:08:17 +02:00
Stypox 0d8fb65003
Fix NPE on determining whether stream is live on Youtube 2019-09-12 15:07:07 +02:00
Stypox 4453a63447
Add test for YouTube livestreams
The current livestream is https://www.youtube.com/watch?v=EcEMX-63PKY
2019-09-12 15:05:22 +02:00
Stypox 5f8e76eb87
Move stream-related youtube tests to subfolder 2019-09-12 14:36:42 +02:00
Tobias Groza bfa6b4d14b
Merge pull request #182 from 2secslater/patch-1
Add Invidious instances
2019-09-12 09:19:11 +02:00
Tobias Groza ec3554a2ea
Merge pull request #193 from Stypox/unavailable-video-fix
Fix TeamNewPipe/NewPipe#2615
2019-09-11 21:44:05 +02:00
Stypox 24a37b88a9
Use pre-generated playerResponse field in yt's getHlsUrl()
Also refactored code to always throw exception when the url can't be found
2019-09-11 20:12:30 +02:00
Stypox 9c423a0a40
Use FORMATS to get video+audio streams on yt
Not ADAPTIVE_FORMATS
2019-09-11 20:04:28 +02:00
Stypox e5e8c66686
Readd signature decryption in YtStreamExtractor 2019-09-11 19:56:16 +02:00
Stypox d9570d8634
Use pre-generated playerResponse field everywhere in YtStreamExtractor 2019-09-11 19:35:08 +02:00
Stypox 63a37c48e3
Remove println left behind 2019-09-11 19:31:39 +02:00
Stypox bf017bf5b9
Fix TeamNewPipe/NewPipe#2615 2019-09-11 19:05:41 +02:00
Vasiliy ecb8ad85a1
Update comments 2019-09-11 19:03:53 +03:00
Andrew d0f1c31b34
Add Invidious instances to parsing helper for YouTube 2019-09-10 17:54:32 +01:00