<commit_before>#!/usr/bin/env python

import errno
import mock
import os
import requests.sessions
import urlparse


def can_dump_request_to_file(method):

    def dump_preparedrequest(request, **kwargs):
        parseresult = urlparse.urlparse(request.url)
        if parseresult.scheme == "file":
            try:
                dirname = os.path.dirname(parseresult.path)
                os.makedirs(dirname)
            except OSError as e:
                if e.errno != errno.EEXIST:
                    raise
            with open(parseresult.path, 'a') as f:
                headers = ""
                for key in request.headers:
                    headers += key + " " + request.headers[key] + "\n"
                message = "{} {}\n{}\n{}\n\n\n".format(
                    request.method, request.url, headers, request.body)
                f.write(message)
        return mock.Mock()

    def patch_request(method, url, **kwargs):
        with requests.sessions.Session() as session:
            parseresult = urlparse.urlparse(url)
            if parseresult.scheme == "file":
                with mock.patch.object(
                        session, 'send', side_effect=dump_preparedrequest):
                    return session.request(method=method, url=url, **kwargs)
            else:
                return session.request(method=method, url=url, **kwargs)

    def hook(*args, **kwargs):
        with mock.patch('requests.api.request', side_effect=patch_request):
            return method(*args, **kwargs)

    return hook<commit_msg>Fix pylint warnings in decorators.py<commit_after>#!/usr/bin/env python

# pylint: disable=missing-docstring

import errno
import os
import urlparse

import mock
import requests.sessions


def can_dump_request_to_file(method):

    def dump_preparedrequest(request, **kwargs):
        # pylint: disable=unused-argument
        parseresult = urlparse.urlparse(request.url)
        if parseresult.scheme == "file":
            try:
                dirname = os.path.dirname(parseresult.path)
                os.makedirs(dirname)
            except OSError as ex:
                if ex.errno != errno.EEXIST:
                    raise
            with open(parseresult.path, 'a') as dumpfile:
                headers = ""
                for key in request.headers:
                    headers += key + " " + request.headers[key] + "\n"
                message = "{} {}\n{}\n{}\n\n\n".format(
                    request.method, request.url, headers, request.body)
                dumpfile.write(message)
        return mock.Mock()

    def patch_request(method, url, **kwargs):
        with requests.sessions.Session() as session:
            parseresult = urlparse.urlparse(url)
            if parseresult.scheme == "file":
                with mock.patch.object(session, 'send',
                                       side_effect=dump_preparedrequest):
                    return session.request(method=method, url=url, **kwargs)
            else:
                return session.request(method=method, url=url, **kwargs)

    def hook(*args, **kwargs):
        with mock.patch('requests.api.request', side_effect=patch_request):
            return method(*args, **kwargs)

    return hook
{'fraction_non_alphanumeric': 0.110699969164354, 'fraction_numerical': 0.0, 'mean_word_length': 1.880994671403197, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4711290', 'n_tokens_mistral': 917, 'n_tokens_neox': 846, 'n_words': 196}