From a804a42e2306cd61c25fb3f0de9e13519b27c470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 3 Jul 2017 15:02:19 +0200 Subject: [PATCH] add '--cookies' command-line option --- gallery_dl/extractor/common.py | 10 ++++++++++ gallery_dl/option.py | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/gallery_dl/extractor/common.py b/gallery_dl/extractor/common.py index abd556ab..23b39c1c 100644 --- a/gallery_dl/extractor/common.py +++ b/gallery_dl/extractor/common.py @@ -15,6 +15,7 @@ import queue import logging import requests import threading +import http.cookiejar from .message import Message from .. import config @@ -30,6 +31,15 @@ class Extractor(): self.session = requests.Session() self.log = logging.getLogger(self.category) + cookies = self.config("cookies") + if cookies: + try: + cj = http.cookiejar.MozillaCookieJar() + cj.load(cookies) + self.session.cookies = cj + except OSError as exc: + self.log.warning("cookies: %s", exc) + def __iter__(self): return self.items() diff --git a/gallery_dl/option.py b/gallery_dl/option.py index b0677647..f874177d 100644 --- a/gallery_dl/option.py +++ b/gallery_dl/option.py @@ -125,6 +125,11 @@ def build_parser(): metavar="SECONDS", action=ConfigAction, dest="timeout", type=float, help="Timeout for HTTP connections (defaut: no timeout)", ) + parser.add_argument( + "--cookies", + metavar="FILE", action=ConfigAction, dest="cookies", + help="File to load additional cookies from", + ) parser.add_argument( "-c", "--config", metavar="CFG", dest="cfgfiles", action="append",