def METHOD_NAME(
    self, pdf_get_operation: colrev.ops.pdf_get.PDFGet, record: colrev.record.Record
) -> colrev.record.Record:
    """Get PDFs from unpaywall"""
    if "doi" not in record.data:
        return record
    pdf_filepath = pdf_get_operation.get_target_filepath(record=record)
    url = self.__unpaywall(
        review_manager=pdf_get_operation.review_manager, doi=record.data["doi"]
    )
    if url == "NA":
        return record
    if "Invalid/unknown DOI" in url:
        return record
    try:
        res = requests.get(
            url,
            headers={
                "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) "
                "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
            },
            stream=True,
            timeout=30,
        )
        if 200 == res.status_code:
            pdf_filepath.parents[0].mkdir(exist_ok=True, parents=True)
            with open(pdf_filepath, "wb") as file:
                file.write(res.content)
            if self.__is_pdf(path_to_file=pdf_filepath):
                pdf_get_operation.review_manager.report_logger.debug(
                    "Retrieved pdf (unpaywall):" f" {pdf_filepath.name}"
                )
                source = (
                    f"https://api.unpaywall.org/v2/{record.data['doi']}"
                    + f"?email={self.email}"
                )
                record.update_field(
                    key="file", value=str(pdf_filepath), source=source
                )
                pdf_get_operation.import_pdf(record=record)
            else:
                os.remove(pdf_filepath)
        else:
            if "fulltext" not in record.data:
                record.data["fulltext"] = url
            if pdf_get_operation.review_manager.verbose_mode:
                pdf_get_operation.review_manager.logger.info(
                    "Unpaywall retrieval error " f"{res.status_code} - {url}"
                )
    except (
        requests.exceptions.ConnectionError,
        requests.exceptions.Timeout,
    ):
        pass
    return record