diff --git a/setup/multitail.py b/setup/multitail.py index 20f0c2789a..643dde323e 100644 --- a/setup/multitail.py +++ b/setup/multitail.py @@ -8,7 +8,7 @@ __copyright__ = '2015, Kovid Goyal ' import curses, os, select, fcntl, errno, re from io import BlockingIOError -from future_builtins import map +from polyglot.builtins import map from threading import Thread clean_pat = re.compile(b'[\n\r\f\v]') diff --git a/setup/plugins_mirror.py b/setup/plugins_mirror.py index ec37d51ef1..628f28acfd 100644 --- a/setup/plugins_mirror.py +++ b/setup/plugins_mirror.py @@ -31,7 +31,7 @@ from contextlib import closing from datetime import datetime from email.utils import parsedate from functools import partial -from future_builtins import filter, map, zip +from polyglot.builtins import filter, map, zip from multiprocessing.pool import ThreadPool from xml.sax.saxutils import escape, quoteattr # }}} diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 3dd3ca9a08..06705b71ad 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ # vim:fileencoding=utf-8 # License: GPLv3 Copyright: 2015, Kovid Goyal from __future__ import print_function -from future_builtins import map +from polyglot.builtins import map import sys, locale, codecs, os, importlib, collections __appname__ = u'calibre' diff --git a/src/calibre/customize/zipplugin.py b/src/calibre/customize/zipplugin.py index f61d2f63c5..6028e5cb33 100644 --- a/src/calibre/customize/zipplugin.py +++ b/src/calibre/customize/zipplugin.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2011, Kovid Goyal ' diff --git a/src/calibre/db/adding.py b/src/calibre/db/adding.py index f6990d877c..5d4ccfbd3a 100644 --- a/src/calibre/db/adding.py +++ b/src/calibre/db/adding.py @@ -8,7 +8,7 @@ __copyright__ = '2013, Kovid Goyal ' import os, time, re from collections import defaultdict -from future_builtins import map +from polyglot.builtins import map from contextlib import contextmanager from functools import partial diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index 5d63061366..50de272d47 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -11,7 +11,7 @@ import os, traceback, random, shutil, operator from io import BytesIO from collections import defaultdict, Set, MutableSet from functools import wraps, partial -from future_builtins import zip +from polyglot.builtins import zip from time import time from calibre import isbytestring, as_unicode diff --git a/src/calibre/db/categories.py b/src/calibre/db/categories.py index bb6df6b17d..22bb84694e 100644 --- a/src/calibre/db/categories.py +++ b/src/calibre/db/categories.py @@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en' import copy from functools import partial -from future_builtins import map +from polyglot.builtins import map from calibre.ebooks.metadata import author_to_author_sort from calibre.utils.config_base import tweaks diff --git a/src/calibre/db/fields.py b/src/calibre/db/fields.py index 036a04f771..1ecf43319c 100644 --- a/src/calibre/db/fields.py +++ b/src/calibre/db/fields.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -# from future_builtins import map +# from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2011, Kovid Goyal ' diff --git a/src/calibre/db/legacy.py b/src/calibre/db/legacy.py index f5b6aa2b98..60b2f083d8 100644 --- a/src/calibre/db/legacy.py +++ b/src/calibre/db/legacy.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' import os, traceback, types -from future_builtins import zip +from polyglot.builtins import zip from calibre import force_unicode, isbytestring from calibre.constants import preferred_encoding diff --git a/src/calibre/db/tests/base.py b/src/calibre/db/tests/base.py index a6c6d60e92..ea389e6c21 100644 --- a/src/calibre/db/tests/base.py +++ b/src/calibre/db/tests/base.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' import unittest, os, shutil, tempfile, atexit, gc, time from functools import partial from io import BytesIO -from future_builtins import map +from polyglot.builtins import map rmtree = partial(shutil.rmtree, ignore_errors=True) diff --git a/src/calibre/db/utils.py b/src/calibre/db/utils.py index 7e1738afc6..b60d0e9420 100644 --- a/src/calibre/db/utils.py +++ b/src/calibre/db/utils.py @@ -9,7 +9,7 @@ __copyright__ = '2013, Kovid Goyal ' import os, errno, cPickle, sys, re from locale import localeconv from collections import OrderedDict, namedtuple -from future_builtins import map +from polyglot.builtins import map from threading import Lock from calibre import as_unicode, prints diff --git a/src/calibre/db/view.py b/src/calibre/db/view.py index b7cf307a49..ebe04aaac7 100644 --- a/src/calibre/db/view.py +++ b/src/calibre/db/view.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' import weakref, operator from functools import partial from itertools import izip, imap -from future_builtins import map +from polyglot.builtins import map from calibre.ebooks.metadata import title_sort from calibre.utils.config_base import tweaks, prefs diff --git a/src/calibre/db/write.py b/src/calibre/db/write.py index 195307b8b2..ffd8f9633a 100644 --- a/src/calibre/db/write.py +++ b/src/calibre/db/write.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' import re from functools import partial from datetime import datetime -from future_builtins import zip +from polyglot.builtins import zip from calibre.constants import preferred_encoding, ispy3 from calibre.ebooks.metadata import author_to_author_sort, title_sort diff --git a/src/calibre/devices/mtp/filesystem_cache.py b/src/calibre/devices/mtp/filesystem_cache.py index ffc52806d6..4451540eea 100644 --- a/src/calibre/devices/mtp/filesystem_cache.py +++ b/src/calibre/devices/mtp/filesystem_cache.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' import weakref, sys, json from collections import deque from operator import attrgetter -from future_builtins import map +from polyglot.builtins import map from datetime import datetime from calibre import human_readable, prints, force_unicode diff --git a/src/calibre/devices/mtp/windows/driver.py b/src/calibre/devices/mtp/windows/driver.py index 4722d97d44..859ff99ffa 100644 --- a/src/calibre/devices/mtp/windows/driver.py +++ b/src/calibre/devices/mtp/windows/driver.py @@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en' import time, threading, traceback from functools import wraps, partial -from future_builtins import zip +from polyglot.builtins import zip from itertools import chain from calibre import as_unicode, prints, force_unicode diff --git a/src/calibre/devices/winusb.py b/src/calibre/devices/winusb.py index de1e9a9027..ce8b239555 100644 --- a/src/calibre/devices/winusb.py +++ b/src/calibre/devices/winusb.py @@ -15,7 +15,7 @@ from ctypes import ( ) from ctypes.wintypes import DWORD, WORD, ULONG, LPCWSTR, HWND, BOOL, LPWSTR, UINT, BYTE, HANDLE, USHORT from pprint import pprint, pformat -from future_builtins import map +from polyglot.builtins import map from calibre import prints, as_unicode diff --git a/src/calibre/ebooks/covers.py b/src/calibre/ebooks/covers.py index 6e6911cf01..c3619487d4 100644 --- a/src/calibre/ebooks/covers.py +++ b/src/calibre/ebooks/covers.py @@ -10,7 +10,7 @@ import re, random, unicodedata from collections import namedtuple from contextlib import contextmanager from math import ceil, sqrt, cos, sin, atan2 -from future_builtins import map, zip +from polyglot.builtins import map, zip from itertools import chain from PyQt5.Qt import ( diff --git a/src/calibre/ebooks/docx/writer/images.py b/src/calibre/ebooks/docx/writer/images.py index 4c3781a4f1..94d762a4e3 100644 --- a/src/calibre/ebooks/docx/writer/images.py +++ b/src/calibre/ebooks/docx/writer/images.py @@ -10,7 +10,7 @@ import os import posixpath from collections import namedtuple from functools import partial -from future_builtins import map +from polyglot.builtins import map from lxml import etree diff --git a/src/calibre/ebooks/epub/cfi/parse.py b/src/calibre/ebooks/epub/cfi/parse.py index 0637295db9..1b0b991976 100644 --- a/src/calibre/ebooks/epub/cfi/parse.py +++ b/src/calibre/ebooks/epub/cfi/parse.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2014, Kovid Goyal ' import regex, sys -from future_builtins import map, zip +from polyglot.builtins import map, zip is_narrow_build = sys.maxunicode < 0x10ffff diff --git a/src/calibre/ebooks/epub/cfi/tests.py b/src/calibre/ebooks/epub/cfi/tests.py index ba7be7622c..99d033cf44 100644 --- a/src/calibre/ebooks/epub/cfi/tests.py +++ b/src/calibre/ebooks/epub/cfi/tests.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2014, Kovid Goyal ' import unittest -from future_builtins import map +from polyglot.builtins import map from calibre.ebooks.epub.cfi.parse import parser, cfi_sort_key diff --git a/src/calibre/ebooks/metadata/author_mapper.py b/src/calibre/ebooks/metadata/author_mapper.py index 95ace59f23..d8c1c9693d 100644 --- a/src/calibre/ebooks/metadata/author_mapper.py +++ b/src/calibre/ebooks/metadata/author_mapper.py @@ -6,7 +6,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera import re from collections import deque -from future_builtins import map +from polyglot.builtins import map from calibre.utils.icu import capitalize, lower, upper diff --git a/src/calibre/ebooks/metadata/opf3.py b/src/calibre/ebooks/metadata/opf3.py index ab3c52fbb6..8d9bfbb9b0 100644 --- a/src/calibre/ebooks/metadata/opf3.py +++ b/src/calibre/ebooks/metadata/opf3.py @@ -8,7 +8,7 @@ import json import re from collections import defaultdict, namedtuple from functools import wraps -from future_builtins import map +from polyglot.builtins import map from lxml import etree diff --git a/src/calibre/ebooks/metadata/sources/base.py b/src/calibre/ebooks/metadata/sources/base.py index baf793b4d0..408b939e25 100644 --- a/src/calibre/ebooks/metadata/sources/base.py +++ b/src/calibre/ebooks/metadata/sources/base.py @@ -8,7 +8,7 @@ __copyright__ = '2011, Kovid Goyal ' __docformat__ = 'restructuredtext en' import re, threading -from future_builtins import map +from polyglot.builtins import map from calibre import browser, random_user_agent from calibre.customize import Plugin diff --git a/src/calibre/ebooks/metadata/sources/search_engines.py b/src/calibre/ebooks/metadata/sources/search_engines.py index 51a13032d6..09a011dd8f 100644 --- a/src/calibre/ebooks/metadata/sources/search_engines.py +++ b/src/calibre/ebooks/metadata/sources/search_engines.py @@ -8,7 +8,7 @@ import json import re import time from collections import defaultdict, namedtuple -from future_builtins import map +from polyglot.builtins import map from urllib import quote_plus, urlencode from urlparse import parse_qs diff --git a/src/calibre/ebooks/metadata/utils.py b/src/calibre/ebooks/metadata/utils.py index be13d95d24..93f8a5a873 100644 --- a/src/calibre/ebooks/metadata/utils.py +++ b/src/calibre/ebooks/metadata/utils.py @@ -5,7 +5,7 @@ from __future__ import (unicode_literals, division, absolute_import, print_function) from collections import namedtuple -from future_builtins import map +from polyglot.builtins import map from lxml import etree diff --git a/src/calibre/ebooks/mobi/debug/mobi8.py b/src/calibre/ebooks/mobi/debug/mobi8.py index 6d74f9d1d9..5a736c7002 100644 --- a/src/calibre/ebooks/mobi/debug/mobi8.py +++ b/src/calibre/ebooks/mobi/debug/mobi8.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' diff --git a/src/calibre/ebooks/mobi/writer2/indexer.py b/src/calibre/ebooks/mobi/writer2/indexer.py index 9d34ffdc04..5e5576db18 100644 --- a/src/calibre/ebooks/mobi/writer2/indexer.py +++ b/src/calibre/ebooks/mobi/writer2/indexer.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import filter, map +from polyglot.builtins import filter, map __license__ = 'GPL v3' __copyright__ = '2011, Kovid Goyal ' diff --git a/src/calibre/ebooks/mobi/writer8/index.py b/src/calibre/ebooks/mobi/writer8/index.py index 01d72d1f8f..265758846a 100644 --- a/src/calibre/ebooks/mobi/writer8/index.py +++ b/src/calibre/ebooks/mobi/writer8/index.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' @@ -11,7 +11,7 @@ __docformat__ = 'restructuredtext en' from collections import namedtuple from struct import pack from io import BytesIO -from future_builtins import zip +from polyglot.builtins import zip from calibre.ebooks.mobi.utils import CNCX, encint, align_block from calibre.ebooks.mobi.writer8.header import Header diff --git a/src/calibre/ebooks/oeb/iterator/spine.py b/src/calibre/ebooks/oeb/iterator/spine.py index a7a6949d7a..c102b281bf 100644 --- a/src/calibre/ebooks/oeb/iterator/spine.py +++ b/src/calibre/ebooks/oeb/iterator/spine.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' diff --git a/src/calibre/ebooks/oeb/normalize_css.py b/src/calibre/ebooks/oeb/normalize_css.py index c7b6d71520..91cc745f15 100644 --- a/src/calibre/ebooks/oeb/normalize_css.py +++ b/src/calibre/ebooks/oeb/normalize_css.py @@ -6,7 +6,7 @@ from __future__ import (unicode_literals, division, absolute_import, __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' -from future_builtins import zip +from polyglot.builtins import zip from functools import wraps try: diff --git a/src/calibre/ebooks/oeb/polish/check/links.py b/src/calibre/ebooks/oeb/polish/check/links.py index b3ed4842ea..8722076947 100644 --- a/src/calibre/ebooks/oeb/polish/check/links.py +++ b/src/calibre/ebooks/oeb/polish/check/links.py @@ -9,7 +9,7 @@ __copyright__ = '2013, Kovid Goyal ' import os from collections import defaultdict from urlparse import urlparse -from future_builtins import map +from polyglot.builtins import map from threading import Thread from Queue import Queue, Empty diff --git a/src/calibre/ebooks/oeb/polish/check/main.py b/src/calibre/ebooks/oeb/polish/check/main.py index cfc59ed657..04055f7e2b 100644 --- a/src/calibre/ebooks/oeb/polish/check/main.py +++ b/src/calibre/ebooks/oeb/polish/check/main.py @@ -6,7 +6,7 @@ from __future__ import (unicode_literals, division, absolute_import, __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' -from future_builtins import map +from polyglot.builtins import map from calibre.ebooks.oeb.base import OEB_DOCS, OEB_STYLES from calibre.ebooks.oeb.polish.utils import guess_type diff --git a/src/calibre/ebooks/oeb/polish/container.py b/src/calibre/ebooks/oeb/polish/container.py index 809056b971..c9e4ae8f29 100644 --- a/src/calibre/ebooks/oeb/polish/container.py +++ b/src/calibre/ebooks/oeb/polish/container.py @@ -14,7 +14,7 @@ import time import unicodedata import uuid from collections import defaultdict -from future_builtins import zip +from polyglot.builtins import zip from io import BytesIO from itertools import count from urlparse import urlparse diff --git a/src/calibre/ebooks/oeb/polish/embed.py b/src/calibre/ebooks/oeb/polish/embed.py index 5e2dbe7a6b..18ca638ab9 100644 --- a/src/calibre/ebooks/oeb/polish/embed.py +++ b/src/calibre/ebooks/oeb/polish/embed.py @@ -8,7 +8,7 @@ __copyright__ = '2013, Kovid Goyal ' __docformat__ = 'restructuredtext en' import sys -from future_builtins import map +from polyglot.builtins import map from lxml import etree diff --git a/src/calibre/ebooks/oeb/polish/pretty.py b/src/calibre/ebooks/oeb/polish/pretty.py index 30ee12ccd6..b5423b251a 100644 --- a/src/calibre/ebooks/oeb/polish/pretty.py +++ b/src/calibre/ebooks/oeb/polish/pretty.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' import textwrap -from future_builtins import map +from polyglot.builtins import map # from lxml.etree import Element diff --git a/src/calibre/ebooks/oeb/polish/replace.py b/src/calibre/ebooks/oeb/polish/replace.py index 1400fe38b2..4f0ec017e9 100644 --- a/src/calibre/ebooks/oeb/polish/replace.py +++ b/src/calibre/ebooks/oeb/polish/replace.py @@ -8,7 +8,7 @@ __copyright__ = '2013, Kovid Goyal ' __docformat__ = 'restructuredtext en' import codecs, shutil, os, posixpath -from future_builtins import map +from polyglot.builtins import map from functools import partial from urlparse import urlparse, urlunparse from collections import Counter, defaultdict diff --git a/src/calibre/ebooks/oeb/polish/split.py b/src/calibre/ebooks/oeb/polish/split.py index f06e11f7b3..ad925d529f 100644 --- a/src/calibre/ebooks/oeb/polish/split.py +++ b/src/calibre/ebooks/oeb/polish/split.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' import copy, os, re -from future_builtins import map +from polyglot.builtins import map from urlparse import urlparse from calibre.ebooks.oeb.base import barename, XPNSMAP, XPath, OPF, XHTML, OEB_DOCS diff --git a/src/calibre/ebooks/oeb/polish/toc.py b/src/calibre/ebooks/oeb/polish/toc.py index b3c8ce3cbe..51aa365b37 100644 --- a/src/calibre/ebooks/oeb/polish/toc.py +++ b/src/calibre/ebooks/oeb/polish/toc.py @@ -11,7 +11,7 @@ import re from urlparse import urlparse from collections import Counter, OrderedDict from functools import partial -from future_builtins import map +from polyglot.builtins import map from operator import itemgetter from lxml import etree diff --git a/src/calibre/ebooks/pdf/render/engine.py b/src/calibre/ebooks/pdf/render/engine.py index bc6a379ce6..9c3faef867 100644 --- a/src/calibre/ebooks/pdf/render/engine.py +++ b/src/calibre/ebooks/pdf/render/engine.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' import sys, traceback, math from collections import namedtuple from functools import wraps, partial -from future_builtins import map, zip +from polyglot.builtins import map, zip from PyQt5.Qt import (QPaintEngine, QPaintDevice, Qt, QTransform, QBrush) diff --git a/src/calibre/ebooks/pdf/render/fonts.py b/src/calibre/ebooks/pdf/render/fonts.py index c76aff8a2a..c5011a8822 100644 --- a/src/calibre/ebooks/pdf/render/fonts.py +++ b/src/calibre/ebooks/pdf/render/fonts.py @@ -11,7 +11,7 @@ import re from itertools import izip, groupby from operator import itemgetter from collections import Counter, OrderedDict -from future_builtins import map +from polyglot.builtins import map from calibre import as_unicode from calibre.ebooks.pdf.render.common import (Array, String, Stream, diff --git a/src/calibre/ebooks/pdf/render/from_html.py b/src/calibre/ebooks/pdf/render/from_html.py index 8deaf86c01..db115855ca 100644 --- a/src/calibre/ebooks/pdf/render/from_html.py +++ b/src/calibre/ebooks/pdf/render/from_html.py @@ -8,7 +8,7 @@ __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' import json, os -from future_builtins import map +from polyglot.builtins import map from math import floor from collections import defaultdict diff --git a/src/calibre/ebooks/pdf/render/gradients.py b/src/calibre/ebooks/pdf/render/gradients.py index 5878789ef5..6a51f5c111 100644 --- a/src/calibre/ebooks/pdf/render/gradients.py +++ b/src/calibre/ebooks/pdf/render/gradients.py @@ -8,7 +8,7 @@ __copyright__ = '2013, Kovid Goyal ' __docformat__ = 'restructuredtext en' import sys, copy -from future_builtins import map +from polyglot.builtins import map from collections import namedtuple from PyQt5.Qt import QLinearGradient, QPointF diff --git a/src/calibre/ebooks/pdf/render/serialize.py b/src/calibre/ebooks/pdf/render/serialize.py index c560f82eaa..5c80ed03b8 100644 --- a/src/calibre/ebooks/pdf/render/serialize.py +++ b/src/calibre/ebooks/pdf/render/serialize.py @@ -8,7 +8,7 @@ __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' import hashlib -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import QBuffer, QByteArray, QImage, Qt, QColor, qRgba, QPainter diff --git a/src/calibre/gui2/actions/author_mapper.py b/src/calibre/gui2/actions/author_mapper.py index 1763344541..f4134aa0d5 100644 --- a/src/calibre/gui2/actions/author_mapper.py +++ b/src/calibre/gui2/actions/author_mapper.py @@ -4,7 +4,7 @@ from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map from calibre.gui2 import gprefs from calibre.gui2.actions import InterfaceAction diff --git a/src/calibre/gui2/actions/polish.py b/src/calibre/gui2/actions/polish.py index 77aa393636..7e935e07d9 100644 --- a/src/calibre/gui2/actions/polish.py +++ b/src/calibre/gui2/actions/polish.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' import os, weakref, shutil, textwrap from collections import OrderedDict from functools import partial -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import (QDialog, QGridLayout, QIcon, QCheckBox, QLabel, QFrame, QApplication, QDialogButtonBox, Qt, QSize, QSpacerItem, diff --git a/src/calibre/gui2/actions/save_to_disk.py b/src/calibre/gui2/actions/save_to_disk.py index adbeeb8ff6..6e183872f8 100644 --- a/src/calibre/gui2/actions/save_to_disk.py +++ b/src/calibre/gui2/actions/save_to_disk.py @@ -7,7 +7,7 @@ __docformat__ = 'restructuredtext en' import os from functools import partial -from future_builtins import map +from polyglot.builtins import map from calibre.utils.config import prefs diff --git a/src/calibre/gui2/actions/tag_mapper.py b/src/calibre/gui2/actions/tag_mapper.py index e9b941002c..b5cef2e748 100644 --- a/src/calibre/gui2/actions/tag_mapper.py +++ b/src/calibre/gui2/actions/tag_mapper.py @@ -4,7 +4,7 @@ from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map from calibre.gui2 import gprefs from calibre.gui2.actions import InterfaceAction diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py index e812485eba..aa11c9bd0f 100644 --- a/src/calibre/gui2/add.py +++ b/src/calibre/gui2/add.py @@ -11,7 +11,7 @@ from threading import Thread from collections import OrderedDict from Queue import Empty from io import BytesIO -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import QObject, Qt, pyqtSignal diff --git a/src/calibre/gui2/add_filters.py b/src/calibre/gui2/add_filters.py index 0ada639c34..1ef66523ef 100644 --- a/src/calibre/gui2/add_filters.py +++ b/src/calibre/gui2/add_filters.py @@ -6,7 +6,7 @@ from __future__ import (unicode_literals, division, absolute_import, print_function) from collections import OrderedDict -from future_builtins import map +from polyglot.builtins import map from calibre.db.adding import compile_glob, filter_filename, compile_rule from calibre.gui2 import elided_text, Application, error_dialog diff --git a/src/calibre/gui2/auto_add.py b/src/calibre/gui2/auto_add.py index 3d8fbaf0e0..124ee60faa 100644 --- a/src/calibre/gui2/auto_add.py +++ b/src/calibre/gui2/auto_add.py @@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en' import os, tempfile, shutil, time from threading import Thread, Event -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import (QFileSystemWatcher, QObject, Qt, pyqtSignal, QTimer, QApplication, QCursor) diff --git a/src/calibre/gui2/icon_theme.py b/src/calibre/gui2/icon_theme.py index 1237f9acef..8891020e85 100644 --- a/src/calibre/gui2/icon_theme.py +++ b/src/calibre/gui2/icon_theme.py @@ -9,7 +9,7 @@ __copyright__ = '2015, Kovid Goyal ' import os, errno, json, importlib, math, httplib, bz2, shutil, sys from itertools import count from io import BytesIO -from future_builtins import map +from polyglot.builtins import map from Queue import Queue, Empty from threading import Thread, Event from multiprocessing.pool import ThreadPool diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index f0cf085d32..0de4ec2e28 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -8,7 +8,7 @@ __docformat__ = 'restructuredtext en' import itertools, operator from functools import partial -from future_builtins import map +from polyglot.builtins import map from collections import OrderedDict from PyQt5.Qt import ( diff --git a/src/calibre/gui2/metadata/diff.py b/src/calibre/gui2/metadata/diff.py index 45ae8fac7a..db442d1936 100644 --- a/src/calibre/gui2/metadata/diff.py +++ b/src/calibre/gui2/metadata/diff.py @@ -9,7 +9,7 @@ __copyright__ = '2013, Kovid Goyal ' import os, weakref from collections import OrderedDict, namedtuple from functools import partial -from future_builtins import zip +from polyglot.builtins import zip from PyQt5.Qt import ( QDialog, QWidget, QGridLayout, QLabel, QToolButton, QIcon, diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py index f11a8fad96..5cd86e8892 100644 --- a/src/calibre/gui2/tag_browser/model.py +++ b/src/calibre/gui2/tag_browser/model.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2011, Kovid Goyal ' diff --git a/src/calibre/gui2/toc/main.py b/src/calibre/gui2/toc/main.py index 35542175c3..81f6e7dd49 100644 --- a/src/calibre/gui2/toc/main.py +++ b/src/calibre/gui2/toc/main.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' import sys, os, textwrap from threading import Thread from functools import partial -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import (QPushButton, QFrame, QMenu, QInputDialog, QCheckBox, QDialog, QVBoxLayout, QDialogButtonBox, QSize, QStackedWidget, QWidget, diff --git a/src/calibre/gui2/tweak_book/__init__.py b/src/calibre/gui2/tweak_book/__init__.py index b1b5499d92..d203a7576a 100644 --- a/src/calibre/gui2/tweak_book/__init__.py +++ b/src/calibre/gui2/tweak_book/__init__.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2013, Kovid Goyal ' import string -from future_builtins import map +from polyglot.builtins import map from calibre.utils.config import JSONConfig from calibre.spell.dictionary import Dictionaries, parse_lang_code diff --git a/src/calibre/gui2/tweak_book/diff/view.py b/src/calibre/gui2/tweak_book/diff/view.py index f7e684c1fa..c5c75ade92 100644 --- a/src/calibre/gui2/tweak_book/diff/view.py +++ b/src/calibre/gui2/tweak_book/diff/view.py @@ -12,7 +12,7 @@ from math import ceil from functools import partial from collections import namedtuple, OrderedDict from difflib import SequenceMatcher -from future_builtins import zip +from polyglot.builtins import zip import regex from PyQt5.Qt import ( diff --git a/src/calibre/gui2/tweak_book/editor/text.py b/src/calibre/gui2/tweak_book/editor/text.py index 405901c916..084dbbbb49 100644 --- a/src/calibre/gui2/tweak_book/editor/text.py +++ b/src/calibre/gui2/tweak_book/editor/text.py @@ -8,7 +8,7 @@ import os import re import textwrap import unicodedata -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import ( QColor, QColorDialog, QFont, QFontDatabase, QKeySequence, QPainter, QPalette, diff --git a/src/calibre/gui2/tweak_book/preferences.py b/src/calibre/gui2/tweak_book/preferences.py index 21d9b9bd78..508aefac5f 100644 --- a/src/calibre/gui2/tweak_book/preferences.py +++ b/src/calibre/gui2/tweak_book/preferences.py @@ -8,7 +8,7 @@ __copyright__ = '2013, Kovid Goyal ' from operator import attrgetter, methodcaller from collections import namedtuple -from future_builtins import map +from polyglot.builtins import map from itertools import product from copy import copy, deepcopy diff --git a/src/calibre/gui2/tweak_book/preview.py b/src/calibre/gui2/tweak_book/preview.py index 073c6d30bc..90b2e383bf 100644 --- a/src/calibre/gui2/tweak_book/preview.py +++ b/src/calibre/gui2/tweak_book/preview.py @@ -9,7 +9,7 @@ __copyright__ = '2013, Kovid Goyal ' import time, textwrap, json from bisect import bisect_right from base64 import b64encode -from future_builtins import map +from polyglot.builtins import map from threading import Thread from Queue import Queue, Empty from functools import partial diff --git a/src/calibre/gui2/tweak_book/reports.py b/src/calibre/gui2/tweak_book/reports.py index 05dfc9f019..804b5c805a 100644 --- a/src/calibre/gui2/tweak_book/reports.py +++ b/src/calibre/gui2/tweak_book/reports.py @@ -8,7 +8,7 @@ __copyright__ = '2015, Kovid Goyal ' import time, textwrap, os from threading import Thread -from future_builtins import map +from polyglot.builtins import map from operator import itemgetter from functools import partial from collections import defaultdict diff --git a/src/calibre/gui2/tweak_book/ui.py b/src/calibre/gui2/tweak_book/ui.py index e1b2e99322..0d1ad714f8 100644 --- a/src/calibre/gui2/tweak_book/ui.py +++ b/src/calibre/gui2/tweak_book/ui.py @@ -9,7 +9,7 @@ __copyright__ = '2013, Kovid Goyal ' import os from functools import partial from itertools import product -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import ( QDockWidget, Qt, QLabel, QIcon, QAction, QApplication, QWidget, QEvent, diff --git a/src/calibre/gui2/update.py b/src/calibre/gui2/update.py index 516b1a7ce9..a688129e15 100644 --- a/src/calibre/gui2/update.py +++ b/src/calibre/gui2/update.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' import re, binascii, cPickle, ssl, json -from future_builtins import map +from polyglot.builtins import map from threading import Thread, Event from PyQt5.Qt import (QObject, pyqtSignal, Qt, QUrl, QDialog, QGridLayout, diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 15446950ff..37be8b36ee 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -7,7 +7,7 @@ __docformat__ = 'restructuredtext en' import math, json from base64 import b64encode from functools import partial -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import ( QSize, QSizePolicy, QUrl, Qt, QPainter, QPalette, QBrush, diff --git a/src/calibre/library/coloring.py b/src/calibre/library/coloring.py index 7d1df7823b..b494ef9a5a 100644 --- a/src/calibre/library/coloring.py +++ b/src/calibre/library/coloring.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2011, Kovid Goyal ' diff --git a/src/calibre/ptempfile.py b/src/calibre/ptempfile.py index 9166a3cfba..ca758fe954 100644 --- a/src/calibre/ptempfile.py +++ b/src/calibre/ptempfile.py @@ -6,7 +6,7 @@ Provides platform independent temporary files that persist even after being closed. """ import tempfile, os, atexit -from future_builtins import map +from polyglot.builtins import map from calibre.constants import (__version__, __appname__, filesystem_encoding, get_unicode_windows_env_var, iswindows, get_windows_temp_path, isosx) diff --git a/src/calibre/srv/ajax.py b/src/calibre/srv/ajax.py index 0b1741401a..a94ab24fb0 100644 --- a/src/calibre/srv/ajax.py +++ b/src/calibre/srv/ajax.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2015, Kovid Goyal ' from functools import partial -from future_builtins import zip +from polyglot.builtins import zip from itertools import cycle from calibre import force_unicode diff --git a/src/calibre/srv/changes.py b/src/calibre/srv/changes.py index a97db6c707..2e49dd89cf 100644 --- a/src/calibre/srv/changes.py +++ b/src/calibre/srv/changes.py @@ -3,7 +3,7 @@ # License: GPLv3 Copyright: 2017, Kovid Goyal from __future__ import absolute_import, division, print_function, unicode_literals -from future_builtins import map +from polyglot.builtins import map class ChangeEvent(object): diff --git a/src/calibre/srv/content.py b/src/calibre/srv/content.py index 4c7d6cd053..45d3cabbce 100644 --- a/src/calibre/srv/content.py +++ b/src/calibre/srv/content.py @@ -10,7 +10,7 @@ import os, errno from binascii import hexlify from io import BytesIO from threading import Lock -from future_builtins import map +from polyglot.builtins import map from functools import partial from urllib import quote diff --git a/src/calibre/srv/http_response.py b/src/calibre/srv/http_response.py index 9af1c9b1da..ead9aa4d6f 100644 --- a/src/calibre/srv/http_response.py +++ b/src/calibre/srv/http_response.py @@ -12,7 +12,7 @@ from io import BytesIO, DEFAULT_BUFFER_SIZE from itertools import chain, repeat, izip_longest from operator import itemgetter from functools import wraps -from future_builtins import map +from polyglot.builtins import map from polyglot.builtins import reraise diff --git a/src/calibre/srv/render_book.py b/src/calibre/srv/render_book.py index 95b1b7a9ab..74300176d0 100644 --- a/src/calibre/srv/render_book.py +++ b/src/calibre/srv/render_book.py @@ -9,7 +9,7 @@ from base64 import standard_b64encode, standard_b64decode from collections import defaultdict, OrderedDict from itertools import count from functools import partial -from future_builtins import map +from polyglot.builtins import map from urlparse import urlparse from urllib import quote diff --git a/src/calibre/srv/utils.py b/src/calibre/srv/utils.py index adfa147131..859d4f4946 100644 --- a/src/calibre/srv/utils.py +++ b/src/calibre/srv/utils.py @@ -13,7 +13,7 @@ from urlparse import parse_qs import repr as reprlib from email.utils import formatdate from operator import itemgetter -from future_builtins import map +from polyglot.builtins import map from urllib import quote as urlquote from binascii import hexlify, unhexlify diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py index 85b6f7505c..de4d0cdb2a 100644 --- a/src/calibre/test_build.py +++ b/src/calibre/test_build.py @@ -2,7 +2,7 @@ # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai from __future__ import (unicode_literals, division, absolute_import, print_function) -from future_builtins import map +from polyglot.builtins import map __license__ = 'GPL v3' __copyright__ = '2011, Kovid Goyal ' diff --git a/src/calibre/utils/cleantext.py b/src/calibre/utils/cleantext.py index e93241f8ed..7c86cbb4c5 100644 --- a/src/calibre/utils/cleantext.py +++ b/src/calibre/utils/cleantext.py @@ -3,7 +3,7 @@ __copyright__ = '2010, sengian ' __docformat__ = 'restructuredtext en' import re, htmlentitydefs -from future_builtins import map +from polyglot.builtins import map from calibre.constants import plugins, preferred_encoding try: diff --git a/src/calibre/utils/fonts/free_type.py b/src/calibre/utils/fonts/free_type.py index a5f787ca78..1de12d1dd1 100644 --- a/src/calibre/utils/fonts/free_type.py +++ b/src/calibre/utils/fonts/free_type.py @@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en' import threading from functools import wraps -from future_builtins import map +from polyglot.builtins import map from calibre.constants import plugins diff --git a/src/calibre/utils/fonts/sfnt/metrics.py b/src/calibre/utils/fonts/sfnt/metrics.py index a95ae82a0c..dcded27e76 100644 --- a/src/calibre/utils/fonts/sfnt/metrics.py +++ b/src/calibre/utils/fonts/sfnt/metrics.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' -from future_builtins import map +from polyglot.builtins import map from calibre.utils.fonts.utils import get_all_font_names from calibre.utils.fonts.sfnt.container import UnsupportedFont diff --git a/src/calibre/utils/matcher.py b/src/calibre/utils/matcher.py index 6d4164c125..12a1d5229f 100644 --- a/src/calibre/utils/matcher.py +++ b/src/calibre/utils/matcher.py @@ -15,7 +15,7 @@ from collections import OrderedDict from itertools import islice from itertools import izip -from future_builtins import map +from polyglot.builtins import map from calibre import detect_ncpus as cpu_count, as_unicode from calibre.constants import plugins, filesystem_encoding diff --git a/src/calibre/utils/open_with/windows.py b/src/calibre/utils/open_with/windows.py index 372ef0e57b..be4d08a482 100644 --- a/src/calibre/utils/open_with/windows.py +++ b/src/calibre/utils/open_with/windows.py @@ -8,7 +8,7 @@ __copyright__ = '2015, Kovid Goyal ' import re, struct, ctypes from collections import namedtuple -from future_builtins import map +from polyglot.builtins import map from PyQt5.Qt import QtWin, Qt, QIcon, QByteArray, QBuffer, QPixmap import win32con, win32api, win32gui, pywintypes, winerror diff --git a/src/polyglot/builtins.py b/src/polyglot/builtins.py index 3531723231..f54eb25807 100644 --- a/src/polyglot/builtins.py +++ b/src/polyglot/builtins.py @@ -19,6 +19,10 @@ if is_py3: finally: value = None tb = None + + zip = __builtins__['zip'] + map = __builtins__['map'] + filter = __builtins__['filter'] else: exec("""def reraise(tp, value, tb=None): try: @@ -26,3 +30,5 @@ else: finally: tb = None """) + + from future_builtins import zip, map, filter # noqa diff --git a/src/tinycss/fonts3.py b/src/tinycss/fonts3.py index 27d9f30afb..87f7602664 100644 --- a/src/tinycss/fonts3.py +++ b/src/tinycss/fonts3.py @@ -8,7 +8,7 @@ __copyright__ = '2014, Kovid Goyal ' import re -from future_builtins import map +from polyglot.builtins import map from tinycss.css21 import CSS21Parser, ParseError from .tokenizer import tokenize_grouped