Skip to content

Commit

Permalink
Remove prepare_response_func param from Grab.process_request_result m…
Browse files Browse the repository at this point in the history
…ethod
  • Loading branch information
Some User committed Feb 26, 2022
1 parent 06293c6 commit 810722a
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 17 deletions.
9 changes: 4 additions & 5 deletions grab/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,10 @@ def setup_transport(self, transport_param, reset=False):
mod = __import__(mod_path, globals(), locals(), ["foo"])
cls = getattr(mod, cls_name)
TRANSPORT_CACHE[(mod_path, cls_name)] = cls
self.transport_param = transport_param
self.transport = cls()
elif isinstance(transport_param, collections.abc.Callable):
self.transport_param = transport_param
self.transport = transport_param()
else:
raise error.GrabMisuseError(
Expand Down Expand Up @@ -535,7 +537,7 @@ def submit(self, make_request=True, **kwargs):
else:
return None

def process_request_result(self, prepare_response_func=None):
def process_request_result(self):
"""
Process result of real request performed via transport extension.
"""
Expand Down Expand Up @@ -572,10 +574,7 @@ def process_request_result(self, prepare_response_func=None):
# again!
self.reset_temporary_options()

if prepare_response_func:
self.doc = prepare_response_func(self.transport, self)
else:
self.doc = self.transport.prepare_response(self)
self.doc = self.transport.prepare_response(self)

self.doc.process_grab(self)

Expand Down
9 changes: 9 additions & 0 deletions tests/grab_proxy.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,3 +227,12 @@ def test_setup_with_proxyline_userpwd(self):
self.assertEqual(grab.config["proxy"], "1.1.1.1:8080")
self.assertEqual(grab.config["proxy_userpwd"], "user:pass")
self.assertEqual(grab.config["proxy_type"], "http")

def test_proxy_auth(self):
# For not this test is just for test coverage in logging method
grab = build_grab()
grab.setup_with_proxyline(
"{}:{}:user:pass".format(self.server.address, self.server.port)
)
self.server.add_response(Response())
grab.go(self.server.get_url())
7 changes: 7 additions & 0 deletions tests/grab_transport.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,10 @@ def test_setup_transport_twice(self):
with self.assertRaises(GrabMisuseError) as ex:
grab.setup_transport(transport)
self.assertTrue("Transport is already set up" in str(ex.exception))

def test_setup_transport_none(self):
grab = Grab()
self.assertTrue(grab.transport is None)

grab.setup_transport(None)
self.assertEqual(grab.transport_param, "grab.transport.curl.CurlTransport")
7 changes: 1 addition & 6 deletions tests/misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,9 @@
from grab.util.log import default_logging

from tests.util import build_grab # pylint: disable=unused-import
from tests.util import BaseGrabTestCase, temp_file
from tests.util import BaseGrabTestCase


class TestMisc(BaseGrabTestCase):
def setUp(self):
self.server.reset()

def test_default_logging(self):
with temp_file() as grab_network_file:
with temp_file() as grab_file:
default_logging(network_log=grab_network_file, grab_log=grab_file)
18 changes: 12 additions & 6 deletions tests/util_log.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,26 @@
from unittest import TestCase
import sys

from grab.util.log import PycurlSigintHandler
from grab.util.log import PycurlSigintHandler, default_logging
from tests.util import temp_file


class PycurlSigintHandlerTestCase(TestCase):
def test_record(self):
handler = PycurlSigintHandler()
with handler.record():
sys.stderr.write('one-1')
sys.stderr.write('two-2')
sys.stderr.write("one-1")
sys.stderr.write("two-2")
val = handler.get_output()
self.assertEqual('one-1two-2', val)
self.assertEqual("one-1two-2", val)

def test_use_stderr(self):
handler = PycurlSigintHandler()
sys.stderr.write('FOO!')
sys.stderr.write("FOO!")
with handler.record():
sys.stderr.write('BAR!')
sys.stderr.write("BAR!")

def test_default_logging(self):
with temp_file() as grab_network_file:
with temp_file() as grab_file:
default_logging(network_log=grab_network_file, grab_log=grab_file)

0 comments on commit 810722a

Please sign in to comment.