You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gallery-dl/gallery_dl/adapter.py

31 lines
835 B

# -*- coding: utf-8 -*-
# Copyright 2016 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
"""Custom requests adapters"""
from requests.adapters import BaseAdapter
from requests import Response, codes
import io
class FileAdapter(BaseAdapter):
def send(self, request, **kwargs):
path = request.url[7:]
response = Response()
try:
response.raw = open(path, "rb")
response.raw.release_conn = response.raw.close
response.status_code = codes.ok
except IOError:
response.raw = io.BytesIO()
response.status_code = codes.bad_request
return response
def close(self):
pass