diff options
| author | syeopite <syeopite@syeopite.dev> | 2023-07-23 01:52:53 -0700 |
|---|---|---|
| committer | syeopite <syeopite@syeopite.dev> | 2023-07-23 14:40:08 -0700 |
| commit | 8e18d445a7adf9a0c0887249003a7b84f0fb95af (patch) | |
| tree | 15ee8f6fcf4060185d5cddc71d941ae2805afefc /src | |
| parent | 7e5935a9da5355bbdd4c047edf692b0ce57722c7 (diff) | |
| download | invidious-8e18d445a7adf9a0c0887249003a7b84f0fb95af.tar.gz invidious-8e18d445a7adf9a0c0887249003a7b84f0fb95af.tar.bz2 invidious-8e18d445a7adf9a0c0887249003a7b84f0fb95af.zip | |
Add method to generate params for transcripts api
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/videos/transcript.cr | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/invidious/videos/transcript.cr b/src/invidious/videos/transcript.cr new file mode 100644 index 00000000..c50f7569 --- /dev/null +++ b/src/invidious/videos/transcript.cr @@ -0,0 +1,34 @@ +module Invidious::Videos + # Namespace for methods primarily relating to Transcripts + module Transcript + def self.generate_param(video_id : String, language_code : String, auto_generated : Bool) : String + if !auto_generated + is_auto_generated = "" + elsif is_auto_generated = "asr" + end + + object = { + "1:0:string" => video_id, + + "2:base64" => { + "1:string" => is_auto_generated, + "2:string" => language_code, + "3:string" => "", + }, + + "3:varint" => 1_i64, + "5:string" => "engagement-panel-searchable-transcript-search-panel", + "6:varint" => 1_i64, + "7:varint" => 1_i64, + "8:varint" => 1_i64, + } + + params = object.try { |i| Protodec::Any.cast_json(i) } + .try { |i| Protodec::Any.from_json(i) } + .try { |i| Base64.urlsafe_encode(i) } + .try { |i| URI.encode_www_form(i) } + + return params + end + end +end |
