Isira Seneviratne
2bca56f0df
Use String.isBlank().
2022-11-30 08:26:21 +05:30
Isira Seneviratne
ddbce3b83d
Add Utils methods for URL encoding/decoding using UTF-8.
2022-11-12 07:29:15 +05:30
Isira Seneviratne
366f5c1632
Use StandardCharsets.UTF_8.
2022-11-12 07:29:15 +05:30
ThetaDev
7244be7627
[YouTube] Add JavaScript lexer to parse completely throttling decryption function ( #905 )
2022-09-24 19:55:46 +02:00
Isira Seneviratne
943b7c033b
Remove EMPTY_STRING.
2022-08-24 06:59:17 +05:30
litetex
9e93d6b193
YoutubeThrottlingDecrypter: Check if returned string is a valid JavaScript function
2022-08-21 20:16:45 +02:00
ThetaDev
52ded6e3d7
Handle curly braces inside strings in StringUtils.matchToClosingParenthesis
...
This is required to extract fully more complex YouTube nsig functions.
2022-08-12 16:32:00 +02:00
Stypox
d12003651b
Merge pull request #886 from Isira-Seneviratne/toArray_improvements
...
Make improvements to methods using toArray().
2022-08-06 22:34:23 +02:00
Isira Seneviratne
7daca10a06
Make improvements to methods using toArray().
2022-08-06 05:21:12 +05:30
Isira Seneviratne
64771c5712
Use String.join() and Collectors.joining().
2022-08-04 05:18:13 +05:30
Stypox
50272db946
Apply reviews: improve comments, remove FILE, remove Stream#equals(Stream)
2022-05-28 12:00:49 +02:00
TiA4f8R
d64d7bbd01
Move ManifestCreatorCache tests to a separate class and remove override of equals and hashCode methods in ManifestCreatorCache
...
These methods don't need to be overriden, as they are not excepted to be used in collections.
Also improve the toString method of this class, which contains also now clearFactor and maximumSize attributes and for each operations.
2022-05-28 12:00:48 +02:00
TiA4f8R
7477ed0f3d
[YouTube] Add ability to generate manifests of progressive, OTF and post live streams
...
A new class has been added to do so: YoutubeDashManifestCreator.
It relies on a new class: ManifestCreatorCache, to cache the content, which relies on a new pair class named Pair.
Results are cached and there is a cache per delivery type, on which cache limit, clear factor, clearing and resetting can be applied to each cache and to all caches.
Look at code changes for more details.
2022-05-28 12:00:45 +02:00
TiA4f8R
7c67d46e09
Move DashMpdParser to the YouTube package and fix extraction of streams
...
DashMpdParser is only working with YouTube streams, as it uses the ItagItem class.
Also update creation of AudioStreams and VideoStreams objects.
2022-05-28 12:00:41 +02:00
Stypox
2e1c5c119d
Merge pull request #822 from Stypox/more-refactors
...
More refactors
2022-05-02 19:03:54 +02:00
litetex
5db4d1faf3
Merge pull request #782 from litetex/cleanup-yt-stream-extractor
...
Cleanup of ``YoutubeStreamExtractor`` and some related classes
2022-05-01 16:44:11 +02:00
litetex
fe30eb43a9
Cleanup ``YoutubeStreamExtractor`` and some related classes
...
* Fixed obvious sonar(lint) warnings
* Abstracted some code (get*Streams)
* Used some new lines to make code better readable
* Chopped down brace-jungle in some methods
* Use StandardCharset (Java 8 4tw)
2022-05-01 16:39:07 +02:00
TiA4f8R
9f9af35adb
[YouTube] Fix regression introduced in the order of streams used when adding more parameters to InnerTube requests, using the iOS client for livestreams and more
2022-04-25 20:23:04 +02:00
Stypox
52fa2d939a
Fix javadoc formatting error causing deployment to fail
2022-04-16 17:07:07 +02:00
TiA4f8R
11b5a222c4
Deduplicate code of getStringResultFromRegexArray methods in Utils
...
Also revert indentation in Utils.mixedNumberWordToLong.
2022-04-02 18:40:00 +02:00
TiA4f8R
dfa4239661
Fix missing imports and Checkstyle issues
2022-03-27 22:10:57 +02:00
TiA4f8R
6d27996ac4
Improve code of getStringResultFromRegexArray methods in Utils
2022-03-27 22:10:57 +02:00
litetex
349ba8db7f
Improve tests and randomness
...
- Use the existing RNG inside YoutubeParsingHelper
- Deduplicated test-setup for YouTube tests
- Minor improvements
2022-03-27 20:52:38 +02:00
TiA4f8R
d0d91e6690
Adress requested changes
2022-03-27 20:51:39 +02:00
TiA4f8R
7d07924de8
[YouTube] Try to use lighter requests when extracting client version and key from YouTube and YouTube Music
...
This is done by fetching https://www.youtube.com/sw.js for YouTube and https://music.youtube.com/sw.js for YouTube Music.
Two new methods in Utils class have been added which allow to try to get a match of regular expressions in a string array, or a Pattern array, on a content, on a specific index or 0.
Also some code refactoring has been made in this class.
2022-03-27 20:51:38 +02:00
Stypox
349990fd48
Fix redundant escape \\ in regex in Utils
2022-03-26 22:01:30 +01:00
litetex
9c07e8a664
Fix useage of wrong object
2022-03-26 20:17:50 +01:00
litetex
ec5b54c38b
Removed unused class
2022-03-26 19:43:10 +01:00
Stypox
ca7c63f273
Fix remaining checkstyle issues in utils/ subpackage
2022-03-26 19:40:13 +01:00
Stypox
1d5f22e41f
Fix checkstyle issues & more in JsonUtils
...
Also use Java 8 streams and extract duplicate code to getInstanceOf function
2022-03-26 19:40:13 +01:00
Stypox
87d2834986
Fix checkstyle issues & more in DonationLinkHelper
...
Also add comment about the class being unused and replace the fixLink function with Utils.stringToUrl()
2022-03-26 19:40:12 +01:00
Stypox
bd7b362040
Fix checkstyle issues & more in DashMpdParser
...
Also remove useless null check on ItagItem.getItag() as that function already throws an exception if there is no itag
2022-03-26 19:40:11 +01:00
TiA4f8R
b74a39c176
Reformat some code and don't use the clickTrackingParams in continuations of YouTube Music search results
...
The clickTrackingParams of YouTube Music search results are not needed to get continuations. This commit removes their use, which may improve privacy.
2021-08-01 17:25:59 +02:00
XiangRongLin
37df225556
Remove length check from StringUtils.matchToClosingParenthesis
2021-07-31 16:05:24 +02:00
XiangRongLin
852a65ff18
Add tests for StringUtils
2021-07-30 19:56:57 +02:00
XiangRongLin
48d897e6ad
Add final and adjust utils class name
2021-07-29 21:33:45 +02:00
XiangRongLin
60794aea31
[YouTube] Add parenthesis matching as way to parse decrypt function
...
From @Stypox
2021-07-29 21:23:00 +02:00
XiangRongLin
2967d1ae6a
[YouTube] Compile YoutubeThrottlingDecrypter pattern statically
2021-07-29 20:27:29 +02:00
TiA4f8R
32055147e0
Do some code improvements
...
Use final where possible, annotate some methods and parameters as Nonnull and format new code to be in the 100 characters limit per line.
2021-07-27 17:24:27 +02:00
XiangRongLin
3a3d1d7f2b
Make YoutubeJavaScriptExtractor and JavaScript methods static
...
Also address review and rewrite some comments
2021-07-20 20:48:11 +02:00
XiangRongLin
80cf8b3acd
Extract separate YoutubeThrottlingDecoder
2021-07-15 20:05:25 +02:00
TiA4f8R
c5c190500c
Format the SoundCloud package of the extractor and fix some warnings
...
Use final where possible in the package and format code to be in the 100 caracters per line limit.
Fix some warnings generated by Android Studio and do some code improvements
2021-05-23 18:08:42 +02:00
TobiGr
9c12dc5609
[SoundCloud] Fix SoundCloud ID extraction
...
resolveIdWithEmbedPlayer() does not work anymore because the JSON data has been extracted to an API call. For this reason, replace resolveIdWithEmbedPlayer() with resolveIdWithWidgetApi)( which performs the API call.
2021-04-26 17:58:34 +02:00
Fynn Godau
c877712647
Add deprecated old method calls to avoid breaking API
2021-04-01 22:32:36 +02:00
Fynn Godau
14f6f1b7c3
Generify related streams calls and rename method
2021-03-31 20:24:40 +02:00
bopol
c47cc54908
Extract metadata for YouTube, SoundCloud & MediaCCC
2021-03-19 10:14:43 +01:00
TobiGr
22fa131922
Merge branch 'dev' into bandcamp
2021-03-05 19:45:37 +01:00
XiangRongLin
03b00ff1d6
Move toJsonArray and toJsonObject to JsonUtils
2021-03-04 18:58:51 +01:00
TobiGr
a1688fe953
Move BandcampExtractorHelper.getJsonData(String, String) to JsonUtils
2021-02-21 13:51:12 +01:00
TobiGr
70814dcfef
Fix Utils.nonEmptyAndNullJoin
...
When using the index here, it the index needs to be decremented once an element is removed. To cirecumvent this, the native Collections.removeIf() method is used.
2021-02-21 12:51:47 +01:00