mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-25 20:55:52 +01:00
[cookies] Handle sqlite
ImportError
gracefully (#554)
Closes #544 Authored by: mbway
This commit is contained in:
parent
f45e6c1126
commit
767b02a99b
@ -2,7 +2,6 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import sqlite3
|
|
||||||
import struct
|
import struct
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
@ -23,6 +22,15 @@
|
|||||||
YoutubeDLCookieJar,
|
YoutubeDLCookieJar,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
import sqlite3
|
||||||
|
SQLITE_AVAILABLE = True
|
||||||
|
except ImportError:
|
||||||
|
# although sqlite3 is part of the standard library, it is possible to compile python without
|
||||||
|
# sqlite support. See: https://github.com/yt-dlp/yt-dlp/issues/544
|
||||||
|
SQLITE_AVAILABLE = False
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from Crypto.Cipher import AES
|
from Crypto.Cipher import AES
|
||||||
CRYPTO_AVAILABLE = True
|
CRYPTO_AVAILABLE = True
|
||||||
@ -90,6 +98,10 @@ def extract_cookies_from_browser(browser_name, profile=None, logger=YDLLogger())
|
|||||||
|
|
||||||
def _extract_firefox_cookies(profile, logger):
|
def _extract_firefox_cookies(profile, logger):
|
||||||
logger.info('Extracting cookies from firefox')
|
logger.info('Extracting cookies from firefox')
|
||||||
|
if not SQLITE_AVAILABLE:
|
||||||
|
logger.warning('Cannot extract cookies from firefox without sqlite3 support. '
|
||||||
|
'Please use a python interpreter compiled with sqlite3 support')
|
||||||
|
return YoutubeDLCookieJar()
|
||||||
|
|
||||||
if profile is None:
|
if profile is None:
|
||||||
search_root = _firefox_browser_dir()
|
search_root = _firefox_browser_dir()
|
||||||
@ -195,6 +207,12 @@ def _get_chromium_based_browser_settings(browser_name):
|
|||||||
|
|
||||||
def _extract_chrome_cookies(browser_name, profile, logger):
|
def _extract_chrome_cookies(browser_name, profile, logger):
|
||||||
logger.info('Extracting cookies from {}'.format(browser_name))
|
logger.info('Extracting cookies from {}'.format(browser_name))
|
||||||
|
|
||||||
|
if not SQLITE_AVAILABLE:
|
||||||
|
logger.warning(('Cannot extract cookies from {} without sqlite3 support. '
|
||||||
|
'Please use a python interpreter compiled with sqlite3 support').format(browser_name))
|
||||||
|
return YoutubeDLCookieJar()
|
||||||
|
|
||||||
config = _get_chromium_based_browser_settings(browser_name)
|
config = _get_chromium_based_browser_settings(browser_name)
|
||||||
|
|
||||||
if profile is None:
|
if profile is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user