From 6a56d253dcf4f1d81693d08b793329b769c228e5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 15 Jul 2019 11:15:26 +0530 Subject: [PATCH] Make AnchorLocation mutable --- src/calibre/ebooks/pdf/html_writer.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/pdf/html_writer.py b/src/calibre/ebooks/pdf/html_writer.py index 6f2ed6726f..d580aed861 100644 --- a/src/calibre/ebooks/pdf/html_writer.py +++ b/src/calibre/ebooks/pdf/html_writer.py @@ -9,7 +9,6 @@ import copy import json import os import signal -from collections import namedtuple from io import BytesIO from PyQt5.Qt import ( @@ -364,7 +363,16 @@ def make_anchors_unique(container): return name_anchor_map -AnchorLocation = namedtuple('AnchorLocation', 'pagenum left top zoom') +class AnchorLocation(object): + + __slots__ = ('pagenum', 'left', 'top', 'zoom') + + def __init__(self, pagenum=1, left=0, top=0, zoom=0): + self.pagenum, self.left, self.top, self.zoom = pagenum, left, top, zoom + + def __repr__(self): + return 'AnchorLocation(pagenum={}, left={}, top={}, zoom={})'.format( + self.pagenum, self.left, self.top, self.zoom) def get_anchor_locations(pdf_doc, first_page_num, toc_uuid):