Added check_link feature.

- check_link feature ensures that the video is in a YouTube domain.
This commit is contained in:
Hansly Saw 2022-05-12 12:21:13 +08:00
parent 7ead6d173a
commit 524206104c
1 changed files with 52 additions and 42 deletions

View File

@ -27,8 +27,7 @@
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "tgACi8lLVS6Y",
"cellView": "form"
"id": "tgACi8lLVS6Y"
},
"outputs": [],
"source": [
@ -131,8 +130,15 @@
" \n",
" check_installDone('write')\n",
"\n",
"def save_video(): \n",
"def check_link(): \n",
" # Check the link if it is in YouTube. \n",
" if ('.youtube.co' in user.video_link) or ('youtu.be' in user.video_link): \n",
" return True\n",
" else: \n",
" fail(formatting.font.bold + 'The link is not YouTube. ' + formatting.clear)\n",
" return False\n",
"\n",
"def save_video(): \n",
" import google;\n",
"\n",
" try:\n",
@ -171,47 +177,51 @@
" start_download((video.video_title + '.' + user.audio_format))\n",
"\n",
"# Main. \n",
"check_compatibility()\n",
"cleanup()\n",
"\n",
"class user: \n",
" video_link = \"\" #@param {type:\"string\"}\n",
" video_link = video_link.strip()\n",
"\n",
" #@markdown ## Output\n",
" audio_only = 0 #@param {type:\"slider\", min:0, max:1, step:1}\n",
"\n",
" if not(audio_only): \n",
" video_format = \"mkv\" #@param [\"mkv\", \"webm\"]\n",
" else: \n",
" video_format = False\n",
" \n",
" audio_format = 'm4a' #@param ['m4a']\n",
"\n",
"\n",
"install_required()\n",
"\n",
"try: \n",
" import yt_dlp;\n",
" with yt_dlp.YoutubeDL({}) as ydl:\n",
" class video: \n",
" info_dict = ydl.extract_info(user.video_link, download=False)\n",
" video_url = info_dict.get(\"url\", None)\n",
" video_id = info_dict.get(\"id\", None)\n",
" video_title = info_dict.get('title', None)\n",
" output_format = '';\n",
"except: \n",
" import youtube_dl;\n",
" with youtube_dl.YoutubeDL({}) as ydl:\n",
" class video: \n",
" info_dict = ydl.extract_info(user.video_link, download=False)\n",
" video_url = info_dict.get(\"url\", None)\n",
" video_id = info_dict.get(\"id\", None)\n",
" video_title = info_dict.get('title', None)\n",
" output_format = '';\n",
" check_compatibility()\n",
" cleanup()\n",
" check_link()\n",
"\n",
"save_video()\n",
"download_video()"
" class user: \n",
" video_link = \"\" #@param {type:\"string\"}\n",
" video_link = video_link.strip()\n",
"\n",
" #@markdown ## Output\n",
" audio_only = 0 #@param {type:\"slider\", min:0, max:1, step:1}\n",
"\n",
" if not(audio_only): \n",
" video_format = \"mkv\" #@param [\"mkv\", \"webm\"]\n",
" else: \n",
" video_format = False\n",
" \n",
" audio_format = 'm4a' #@param ['m4a']\n",
"\n",
"\n",
" install_required()\n",
"\n",
" try: \n",
" import yt_dlp;\n",
" with yt_dlp.YoutubeDL({}) as ydl:\n",
" class video: \n",
" info_dict = ydl.extract_info(user.video_link, download=False)\n",
" video_url = info_dict.get(\"url\", None)\n",
" video_id = info_dict.get(\"id\", None)\n",
" video_title = info_dict.get('title', None)\n",
" output_format = '';\n",
" except: \n",
" import youtube_dl;\n",
" with youtube_dl.YoutubeDL({}) as ydl:\n",
" class video: \n",
" info_dict = ydl.extract_info(user.video_link, download=False)\n",
" video_url = info_dict.get(\"url\", None)\n",
" video_id = info_dict.get(\"id\", None)\n",
" video_title = info_dict.get('title', None)\n",
" output_format = '';\n",
"\n",
" save_video()\n",
" download_video()\n",
"except: \n",
" info.fail(formatting.font.bold + 'An error has ocurred, ' formatting.clear + 'we apologize for the inconvenience. Please check the log for full details. ')"
]
}
],