Skip to content

Commit

Permalink
PEP8 renamings
Browse files Browse the repository at this point in the history
  • Loading branch information
MartinThoma committed May 22, 2022
1 parent fe4cf8c commit 990f5d8
Show file tree
Hide file tree
Showing 35 changed files with 1,381 additions and 455 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Explain briefly what you want to achive.
How would your feature be used? (Remove this if it is not applicable.)

```python
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2 import PdfReader, PdfWriter

... # your new feature in action!
```
Binary file added PDF_Samples/AutoCad_Simple.pdf
Binary file not shown.
16 changes: 10 additions & 6 deletions PyPDF2/__init__.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
from ._merger import PdfFileMerger
from ._merger import PdfMerger
from ._page import Transformation
from ._reader import PdfFileReader
from ._reader import DocumentInformation, PdfFileReader, PdfReader
from ._version import __version__
from ._writer import PdfFileWriter
from ._writer import PdfFileWriter, PdfWriter
from .pagerange import PageRange, parse_filename_page_ranges
from .papersizes import PaperSize

__all__ = [
"__version__",
"PageRange",
"PaperSize",
"DocumentInformation",
"parse_filename_page_ranges",
"PdfFileMerger", # will be removed soon; use PdfMerger instead
"PdfFileReader", # will be removed soon; use PdfReader instead
"PdfFileWriter", # will be removed soon; use PdfWriter instead
"PdfMerger",
"Transformation",
"PdfFileMerger",
"PdfFileReader",
"PdfFileWriter",
"PdfReader",
"PdfWriter",
]
54 changes: 34 additions & 20 deletions PyPDF2/_merger.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
from typing import Any, Dict, Iterable, List, Optional, Tuple, Union, cast

from ._page import PageObject
from ._reader import PdfFileReader
from ._reader import PdfReader
from ._utils import StrByteType, str_
from ._writer import PdfFileWriter
from ._writer import PdfWriter
from .constants import PagesAttributes as PA
from .generic import (
ArrayObject,
Expand Down Expand Up @@ -62,20 +62,20 @@

class _MergedPage:
"""
_MergedPage is used internally by PdfFileMerger to collect necessary
_MergedPage is used internally by PdfMerger to collect necessary
information on each page that is being merged.
"""

def __init__(self, pagedata: PageObject, src: PdfFileReader, id: int) -> None:
def __init__(self, pagedata: PageObject, src: PdfReader, id: int) -> None:
self.src = src
self.pagedata = pagedata
self.out_pagedata = None
self.id = id


class PdfFileMerger:
class PdfMerger:
"""
Initializes a ``PdfFileMerger`` object. ``PdfFileMerger`` merges multiple
Initializes a ``PdfMerger`` object. ``PdfMerger`` merges multiple
PDFs into a single PDF. It can concatenate, slice, insert, or any
combination of the above.
Expand All @@ -88,9 +88,9 @@ class PdfFileMerger:
"""

def __init__(self, strict: bool = False) -> None:
self.inputs: List[Tuple[Any, PdfFileReader, bool]] = []
self.inputs: List[Tuple[Any, PdfReader, bool]] = []
self.pages: List[Any] = []
self.output: Optional[PdfFileWriter] = PdfFileWriter()
self.output: Optional[PdfWriter] = PdfWriter()
self.bookmarks: OutlinesType = []
self.named_dests: List[Any] = []
self.id_count = 0
Expand All @@ -99,7 +99,7 @@ def __init__(self, strict: bool = False) -> None:
def merge(
self,
position: int,
fileobj: Union[StrByteType, PdfFileReader],
fileobj: Union[StrByteType, PdfReader],
bookmark: Optional[str] = None,
pages: Optional[PageRangeSpec] = None,
import_bookmarks: bool = True,
Expand Down Expand Up @@ -130,9 +130,9 @@ def merge(

stream, my_file, decryption_key = self._create_stream(fileobj)

# Create a new PdfFileReader instance using the stream
# Create a new PdfReader instance using the stream
# (either file or BytesIO or StringIO) created above
reader = PdfFileReader(stream, strict=self.strict) # type: ignore[arg-type]
reader = PdfReader(stream, strict=self.strict) # type: ignore[arg-type]
if decryption_key is not None:
reader._decryption_key = decryption_key

Expand Down Expand Up @@ -186,7 +186,7 @@ def merge(
self.inputs.append((stream, reader, my_file))

def _create_stream(
self, fileobj: Union[StrByteType, PdfFileReader]
self, fileobj: Union[StrByteType, PdfReader]
) -> Tuple[IOBase, bool, Optional[bytes]]:
# This parameter is passed to self.inputs.append and means
# that the stream used was created in this method.
Expand All @@ -195,15 +195,15 @@ def _create_stream(
# If the fileobj parameter is a string, assume it is a path
# and create a file object at that location. If it is a file,
# copy the file's contents into a BytesIO stream object; if
# it is a PdfFileReader, copy that reader's stream into a
# it is a PdfReader, copy that reader's stream into a
# BytesIO stream.
# If fileobj is none of the above types, it is not modified
decryption_key = None
stream: IOBase
if isinstance(fileobj, str):
stream = FileIO(fileobj, "rb")
my_file = True
elif isinstance(fileobj, PdfFileReader):
elif isinstance(fileobj, PdfReader):
if hasattr(fileobj, "_decryption_key"):
decryption_key = fileobj._decryption_key
orig_tell = fileobj.stream.tell()
Expand All @@ -225,7 +225,7 @@ def _create_stream(

def append(
self,
fileobj: Union[StrByteType, PdfFileReader],
fileobj: Union[StrByteType, PdfReader],
bookmark: Optional[str] = None,
pages: Union[None, PageRange, Tuple[int, int], Tuple[int, int, int]] = None,
import_bookmarks: bool = True,
Expand Down Expand Up @@ -267,9 +267,9 @@ def write(self, fileobj: StrByteType) -> None:
fileobj = FileIO(fileobj, "wb")
my_file = True

# Add pages to the PdfFileWriter
# Add pages to the PdfWriter
# The commented out line below was replaced with the two lines below it
# to allow PdfFileMerger to work with PyPdf 1.13
# to allow PdfMerger to work with PyPdf 1.13
for page in self.pages:
self.output.add_page(page.pagedata)
pages_obj = cast(Dict[str, Any], self.output._pages.get_object())
Expand Down Expand Up @@ -340,7 +340,7 @@ def set_page_layout(self, layout: LayoutType) -> None:
"""
if self.output is None:
raise RuntimeError(ERR_CLOSED_WRITER)
self.output.set_page_layout(layout)
self.output._set_page_layout(layout)

def set_page_mode(self, mode: PagemodeType) -> None:
"""
Expand Down Expand Up @@ -370,7 +370,7 @@ def set_page_mode(self, mode: PagemodeType) -> None:

def _trim_dests(
self,
pdf: PdfFileReader,
pdf: PdfReader,
dests: Dict[str, Dict[str, Any]],
pages: Union[Tuple[int, int], Tuple[int, int, int]],
) -> List[Dict[str, Any]]:
Expand All @@ -390,7 +390,7 @@ def _trim_dests(

def _trim_outline(
self,
pdf: PdfFileReader,
pdf: PdfReader,
outline: OutlinesType,
pages: Union[Tuple[int, int], Tuple[int, int, int]],
) -> OutlinesType:
Expand Down Expand Up @@ -686,3 +686,17 @@ def add_named_destination(self, title: str, pagenum: int) -> None:
NumberObject(826),
)
self.named_dests.append(dest)


class PdfFileMerger(PdfMerger):
def __init__(self, *args: Any, **kwargs: Any) -> None:
import warnings

warnings.warn(
"PdfFileMerger was renamed to PdfMerger. PdfFileMerger will be removed",
PendingDeprecationWarning,
stacklevel=2,
)
if "strict" not in kwargs and len(args) < 1:
kwargs["strict"] = True # maintain the default
super().__init__(*args, **kwargs)
Loading

0 comments on commit 990f5d8

Please sign in to comment.