Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: py-pdf/pypdf
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.27.12
Choose a base ref
...
head repository: py-pdf/pypdf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1.28.1
Choose a head ref
  • 7 commits
  • 61 files changed
  • 2 contributors

Commits on May 9, 2022

  1. Configuration menu
    Copy the full SHA
    a791ef1 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2022

  1. DEP: PEP8-style module, class, and method names (#867)

    This commit strives to make the usage for new PyPDF2 users easier by following
    PEP8 naming schemes. It's mostly about camelCase method names being converted to
    snake_case. Other changes make the public interface of PyPDF2 smaller and thus
    easier to discover.
    
    This commit does not introduce any breaking changes as the old modules /
    classes / method signatures are still present. They have now deprecation
    warnings and the docs show that those are considered deprecated.
    
    If a property and a getter-method are both present, use the property.
    
    Module level changes
    --------------------
    
    - utils ➔ _utils: The module is renamed to '_utils' to indicate that it should
                    not be used by PyPDF2 users. It's only meant for PyPDF2 itself.
    - The 'pdf' module was removed. Most classes / functions are now either in
      '_utils' or in 'generic'.
    
    
    Core classes
    ------------
    
    - PdfFileReader➔ PdfReader (strict=False is new default)
    - PdfFileWriter➔ PdfWriter
    - PdfFileMerger➔ PdfMerger (strict=False is new default)
    
    PdfReader
    ---------
    
    - writer.getPage(pageNumber) ➔ writer.pages[page_number]
    - writer.getNumPages() ➔ len(writer.pages)
    - getPageLayout / pageLayout ➔ page_layout
    - getPageMode / pageMode ➔ page_mode
    - getIsEncrypted / isEncrypted ➔ is_encrypted
    - getDocumentInfo ➔ metadata
    
    PdfWriter
    ---------
    
    - writer.getPage(pageNumber) ➔ writer.pages[page_number]
    - writer.getNumPages() ➔ len(writer.pages)
    - getPageLayout / setPageLayout / pageLayout ➔ page_layout
    - getPageMode / setPageMode / pageMode ➔ page_mode
    
    Page
    ----
    
    - mediabox / trimbox / cropbox / bleedbox / artbox:
        - getWidth, getHeight  ➔ width / height
        - getLowerLeft_x / getUpperLeft_x ➔ left
        - getUpperRight_x / getLowerRight_x ➔ right
        - getLowerLeft_y / getLowerRight_y ➔ bottom
        - getUpperRight_y / getUpperLeft_y ➔ top
        - getLowerLeft / setLowerLeft ➔ lower_left property
        - upperRight ➔ upper_right
    - Add Transformation class to make it easy to create transformation matrices
    - add_transformation and merge_page should be used instead of:
        - mergeTransformedPage
        - mergeScaledPage
        - mergeRotatedPage
        - mergeTranslatedPage
        - mergeRotatedTranslatedPage
        - mergeRotatedScaledPage
        - mergeScaledTranslatedPage
        - mergeRotatedScaledTranslatedPage
    
    See the CHANGELOG for a full list of changes
    MartinThoma authored May 22, 2022
    Configuration menu
    Copy the full SHA
    c66ee8c View commit details
    Browse the repository at this point in the history
  2. REL: 1.28.0

    This release adds a lot of deprecation warnings in preparation of the
    PyPDF2 2.0.0 release. The changes are mostly using snake_case function-, method-,
    and variable-names as well as using properties instead of getter-methods.
    
    Maintenance (MAINT):
    -  Remove IronPython Fallback for zlib (#868)
    
    Full Changelog: 1.27.12...1.27.13
    
    * Make the `PyPDF2.utils` module private
    * Rename of core classes:
      * PdfFileReader ➔ PdfReader
      * PdfFileWriter ➔ PdfWriter
      * PdfFileMerger ➔ PdfMerger
    * Use PEP8 conventions for function names and parameters
    * If a property and a getter-method are both present, use the property
    
    In many places:
      - getObject ➔ get_object
      - writeToStream ➔ write_to_stream
      - readFromStream ➔ read_from_stream
    
    PyPDF2.generic
      - readObject ➔ read_object
      - convertToInt ➔ convert_to_int
      - DocumentInformation.getText ➔ DocumentInformation._get_text :
        This method should typically not be used; please let me know if you need it.
    
    PdfReader class:
      - `reader.getPage(pageNumber)` ➔ `reader.pages[page_number]`
      - `reader.getNumPages()` / `reader.numPages` ➔ `len(reader.pages)`
      - getDocumentInfo ➔ metadata
      - flattenedPages attribute ➔ flattened_pages
      - resolvedObjects attribute ➔ resolved_objects
      - xrefIndex attribute ➔ xref_index
      - getNamedDestinations / namedDestinations attribute ➔ named_destinations
      - getPageLayout / pageLayout ➔ page_layout attribute
      - getPageMode / pageMode ➔ page_mode attribute
      - getIsEncrypted / isEncrypted ➔ is_encrypted attribute
      - getOutlines ➔ get_outlines
      - readObjectHeader ➔ read_object_header (TODO: read vs get?)
      - cacheGetIndirectObject ➔ cache_get_indirect_object (TODO: public vs private?)
      - cacheIndirectObject ➔ cache_indirect_object (TODO: public vs private?)
      - getDestinationPageNumber ➔ get_destination_page_number
      - readNextEndLine ➔ read_next_end_line
      - _zeroXref ➔ _zero_xref
      - _authenticateUserPassword ➔ _authenticate_user_password
      - _pageId2Num attribute ➔ _page_id2num
      - _buildDestination ➔ _build_destination
      - _buildOutline ➔ _build_outline
      - _getPageNumberByIndirect(indirectRef) ➔ _get_page_number_by_indirect(indirect_ref)
      - _getObjectFromStream ➔ _get_object_from_stream
      - _decryptObject ➔ _decrypt_object
      - _flatten(..., indirectRef) ➔ _flatten(..., indirect_ref)
      - _buildField ➔ _build_field
      - _checkKids ➔ _check_kids
      - _writeField ➔ _write_field
      - _write_field(..., fieldAttributes) ➔ _write_field(..., field_attributes)
      - _read_xref_subsections(..., getEntry, ...) ➔ _read_xref_subsections(..., get_entry, ...)
    
    PdfWriter class:
      - `writer.getPage(pageNumber)` ➔ `writer.pages[page_number]`
      - `writer.getNumPages()` ➔ `len(writer.pages)`
      - addMetadata ➔ add_metadata
      - addPage ➔ add_page
      - addBlankPage ➔ add_blank_page
      - addAttachment(fname, fdata) ➔ add_attachment(filename, data)
      - insertPage ➔ insert_page
      - insertBlankPage ➔ insert_blank_page
      - appendPagesFromReader ➔ append_pages_from_reader
      - updatePageFormFieldValues ➔ update_page_form_field_values
      - cloneReaderDocumentRoot ➔ clone_reader_document_root
      - cloneDocumentFromReader ➔ clone_document_from_reader
      - getReference ➔ get_reference
      - getOutlineRoot ➔ get_outline_root
      - getNamedDestRoot ➔ get_named_dest_root
      - addBookmarkDestination ➔ add_bookmark_destination
      - addBookmarkDict ➔ add_bookmark_dict
      - addBookmark ➔ add_bookmark
      - addNamedDestinationObject ➔ add_named_destination_object
      - addNamedDestination ➔ add_named_destination
      - removeLinks ➔ remove_links
      - removeImages(ignoreByteStringObject) ➔ remove_images(ignore_byte_string_object)
      - removeText(ignoreByteStringObject) ➔ remove_text(ignore_byte_string_object)
      - addURI ➔ add_uri
      - addLink ➔ add_link
      - getPage(pageNumber) ➔ get_page(page_number)
      - getPageLayout / setPageLayout / pageLayout ➔ page_layout attribute
      - getPageMode / setPageMode / pageMode ➔ page_mode attribute
      - _addObject ➔ _add_object
      - _addPage ➔ _add_page
      - _sweepIndirectReferences ➔ _sweep_indirect_references
    
    PdfMerger class
      - `__init__` parameter: strict=True ➔ strict=False (the PdfFileMerger still has the old default)
      - addMetadata ➔ add_metadata
      - addNamedDestination ➔ add_named_destination
      - setPageLayout ➔ set_page_layout
      - setPageMode ➔ set_page_mode
    
    Page class:
      - artBox / bleedBox/ cropBox/ mediaBox / trimBox ➔ artbox / bleedbox/ cropbox/ mediabox / trimbox
        - getWidth, getHeight  ➔ width / height
        - getLowerLeft_x / getUpperLeft_x ➔ left
        - getUpperRight_x / getLowerRight_x ➔ right
        - getLowerLeft_y / getLowerRight_y ➔ bottom
        - getUpperRight_y / getUpperLeft_y ➔ top
        - getLowerLeft / setLowerLeft ➔ lower_left property
        - upperRight ➔ upper_right
      - mergePage ➔ merge_page
      - rotateClockwise / rotateCounterClockwise ➔ rotate_clockwise
      - _mergeResources ➔ _merge_resources
      - _contentStreamRename ➔ _content_stream_rename
      - _pushPopGS ➔ _push_pop_gs
      - _addTransformationMatrix ➔ _add_transformation_matrix
      - _mergePage ➔ _merge_page
    
    XmpInformation class:
      - getElement(..., aboutUri, ...) ➔ get_element(..., about_uri, ...)
      - getNodesInNamespace(..., aboutUri, ...) ➔ get_nodes_in_namespace(..., aboutUri, ...)
      - _getText ➔ _get_text
    
    utils.py:
      - matrixMultiply ➔ matrix_multiply
      - RC4_encrypt is moved to the security module
    MartinThoma committed May 22, 2022
    Configuration menu
    Copy the full SHA
    a214c9e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    560d2a7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ce1cb66 View commit details
    Browse the repository at this point in the history
  5. MAINT: Add stacklevel=2 to deprecation warnings (#889)

    * STY: Adjust code/docs in several places to make it more similar to the 2.0.0 branch
    * MAINT: Remove excessive <py36 warnings
    MartinThoma authored May 22, 2022
    Configuration menu
    Copy the full SHA
    f74d733 View commit details
    Browse the repository at this point in the history
  6. REL: 1.28.1

    Bug Fixes (BUG):
    -  Incorrectly show deprecation warnings on internal usage (#887)
    
    Maintenance (MAINT):
    -  Add stacklevel=2 to deprecation warnings (#889)
    -  Remove duplicate warnings imports (#888)
    
    Full Changelog: 1.28.0...1.28.1
    MartinThoma committed May 22, 2022
    Configuration menu
    Copy the full SHA
    000ac49 View commit details
    Browse the repository at this point in the history
Loading