+ async getListInfo (options: {
+ url: string
+ latestVideosCount?: number
+ processOptions: execa.NodeOptions
+ }): Promise<{ upload_date: string, webpage_url: string }[]> {
+ const additionalYoutubeDLArgs = [ '--skip-download', '--playlist-reverse' ]
+
+ if (CONFIG.IMPORT.VIDEOS.HTTP.YOUTUBE_DL_RELEASE.NAME === 'yt-dlp') {
+ // Optimize listing videos only when using yt-dlp because it is bugged with youtube-dl when fetching a channel
+ additionalYoutubeDLArgs.push('--flat-playlist')
+ }
+
+ if (options.latestVideosCount !== undefined) {
+ additionalYoutubeDLArgs.push('--playlist-end', options.latestVideosCount.toString())
+ }
+
+ const result = await this.getInfo({
+ url: options.url,
+ format: YoutubeDLCLI.getYoutubeDLVideoFormat([], false),
+ processOptions: options.processOptions,
+ additionalYoutubeDLArgs
+ })
+
+ if (!result) return result
+ if (!Array.isArray(result)) return [ result ]
+
+ return result
+ }
+