( flags *Flags, registry *core.PluginRegistry, videoId string)
| 115 | } |
| 116 | |
| 117 | func processYoutubeVideo( |
| 118 | flags *Flags, registry *core.PluginRegistry, videoId string) (message string, err error) { |
| 119 | |
| 120 | if (!flags.YouTubeComments && !flags.YouTubeMetadata && !flags.YouTubeVisual) || flags.YouTubeTranscript || flags.YouTubeTranscriptWithTimestamps { |
| 121 | var transcript string |
| 122 | var language = "en" |
| 123 | if flags.Language != "" || registry.Language.DefaultLanguage.Value != "" { |
| 124 | if flags.Language != "" { |
| 125 | language = flags.Language |
| 126 | } else { |
| 127 | language = registry.Language.DefaultLanguage.Value |
| 128 | } |
| 129 | } |
| 130 | if flags.YouTubeTranscriptWithTimestamps { |
| 131 | if transcript, err = registry.YouTube.GrabTranscriptWithTimestampsWithArgs(videoId, language, flags.YtDlpArgs); err != nil { |
| 132 | return |
| 133 | } |
| 134 | } else { |
| 135 | if transcript, err = registry.YouTube.GrabTranscriptWithArgs(videoId, language, flags.YtDlpArgs); err != nil { |
| 136 | return |
| 137 | } |
| 138 | } |
| 139 | message = AppendMessage(message, transcript) |
| 140 | } |
| 141 | |
| 142 | if flags.YouTubeVisual { |
| 143 | var visualText string |
| 144 | var language = "en" |
| 145 | if flags.Language != "" { |
| 146 | language = flags.Language |
| 147 | } else if registry.Language.DefaultLanguage.Value != "" { |
| 148 | language = registry.Language.DefaultLanguage.Value |
| 149 | } |
| 150 | if visualText, err = registry.YouTube.GrabVisual(videoId, language, flags.YtDlpArgs, flags.YouTubeVisualSensitivity, flags.YouTubeVisualFps); err != nil { |
| 151 | return |
| 152 | } |
| 153 | message = AppendMessage(message, visualText) |
| 154 | } |
| 155 | |
| 156 | if flags.YouTubeComments { |
| 157 | var comments []string |
| 158 | if comments, err = registry.YouTube.GrabComments(videoId); err != nil { |
| 159 | return |
| 160 | } |
| 161 | |
| 162 | commentsString := strings.Join(comments, "\n") |
| 163 | |
| 164 | message = AppendMessage(message, commentsString) |
| 165 | } |
| 166 | |
| 167 | if flags.YouTubeMetadata { |
| 168 | var metadata *youtube.VideoMetadata |
| 169 | if metadata, err = registry.YouTube.GrabMetadata(videoId); err != nil { |
| 170 | return |
| 171 | } |
| 172 | metadataJson, _ := json.MarshalIndent(metadata, "", " ") |
| 173 | message = AppendMessage(message, string(metadataJson)) |
| 174 | } |
no test coverage detected