mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
py3: work towards enforce all __future__s everywhere
In various places, update division to use // (unless it specifically wanted a float). Drop use of u'' literals.
This commit is contained in:
parent
4d547f40e7
commit
89e2638cdd
@ -1,5 +1,4 @@
|
||||
from __future__ import with_statement
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
|
@ -1370,7 +1370,7 @@ plugins += [LookAndFeel, Behavior, Columns, Toolbar, Search, InputOptions,
|
||||
|
||||
class StoreAmazonKindleStore(StoreBase):
|
||||
name = 'Amazon Kindle'
|
||||
description = u'Kindle books from Amazon.'
|
||||
description = 'Kindle books from Amazon.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'US'
|
||||
@ -1380,8 +1380,8 @@ class StoreAmazonKindleStore(StoreBase):
|
||||
|
||||
class StoreAmazonAUKindleStore(StoreBase):
|
||||
name = 'Amazon AU Kindle'
|
||||
author = u'Kovid Goyal'
|
||||
description = u'Kindle books from Amazon.'
|
||||
author = 'Kovid Goyal'
|
||||
description = 'Kindle books from Amazon.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_au_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'AU'
|
||||
@ -1390,8 +1390,8 @@ class StoreAmazonAUKindleStore(StoreBase):
|
||||
|
||||
class StoreAmazonCAKindleStore(StoreBase):
|
||||
name = 'Amazon CA Kindle'
|
||||
author = u'Kovid Goyal'
|
||||
description = u'Kindle books from Amazon.'
|
||||
author = 'Kovid Goyal'
|
||||
description = 'Kindle books from Amazon.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_ca_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'CA'
|
||||
@ -1400,8 +1400,8 @@ class StoreAmazonCAKindleStore(StoreBase):
|
||||
|
||||
class StoreAmazonINKindleStore(StoreBase):
|
||||
name = 'Amazon IN Kindle'
|
||||
author = u'Kovid Goyal'
|
||||
description = u'Kindle books from Amazon.'
|
||||
author = 'Kovid Goyal'
|
||||
description = 'Kindle books from Amazon.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_in_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'IN'
|
||||
@ -1411,7 +1411,7 @@ class StoreAmazonINKindleStore(StoreBase):
|
||||
class StoreAmazonDEKindleStore(StoreBase):
|
||||
name = 'Amazon DE Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'Kindle Bücher von Amazon.'
|
||||
description = 'Kindle Bücher von Amazon.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_de_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'DE'
|
||||
@ -1421,7 +1421,7 @@ class StoreAmazonDEKindleStore(StoreBase):
|
||||
class StoreAmazonFRKindleStore(StoreBase):
|
||||
name = 'Amazon FR Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'Tous les e-books Kindle'
|
||||
description = 'Tous les e-books Kindle'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_fr_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'FR'
|
||||
@ -1431,7 +1431,7 @@ class StoreAmazonFRKindleStore(StoreBase):
|
||||
class StoreAmazonITKindleStore(StoreBase):
|
||||
name = 'Amazon IT Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'e-book Kindle a prezzi incredibili'
|
||||
description = 'e-book Kindle a prezzi incredibili'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_it_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'IT'
|
||||
@ -1441,7 +1441,7 @@ class StoreAmazonITKindleStore(StoreBase):
|
||||
class StoreAmazonESKindleStore(StoreBase):
|
||||
name = 'Amazon ES Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'e-book Kindle en España'
|
||||
description = 'e-book Kindle en España'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_es_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'ES'
|
||||
@ -1451,7 +1451,7 @@ class StoreAmazonESKindleStore(StoreBase):
|
||||
class StoreAmazonUKKindleStore(StoreBase):
|
||||
name = 'Amazon UK Kindle'
|
||||
author = 'Kovid Goyal'
|
||||
description = u'Kindle books from Amazon\'s UK web site. Also, includes French language e-books.'
|
||||
description = 'Kindle books from Amazon\'s UK web site. Also, includes French language e-books.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.amazon_uk_plugin:AmazonKindleStore'
|
||||
|
||||
headquarters = 'UK'
|
||||
@ -1460,7 +1460,7 @@ class StoreAmazonUKKindleStore(StoreBase):
|
||||
|
||||
class StoreArchiveOrgStore(StoreBase):
|
||||
name = 'Archive.org'
|
||||
description = u'An Internet library offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format.' # noqa
|
||||
description = 'An Internet library offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format.' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.archive_org_plugin:ArchiveOrgStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1470,7 +1470,7 @@ class StoreArchiveOrgStore(StoreBase):
|
||||
|
||||
class StoreBubokPublishingStore(StoreBase):
|
||||
name = 'Bubok Spain'
|
||||
description = u'Bubok Publishing is a publisher, library and store of books of authors from all around the world. They have a big amount of books of a lot of topics' # noqa
|
||||
description = 'Bubok Publishing is a publisher, library and store of books of authors from all around the world. They have a big amount of books of a lot of topics' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.bubok_publishing_plugin:BubokPublishingStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1480,7 +1480,7 @@ class StoreBubokPublishingStore(StoreBase):
|
||||
|
||||
class StoreBubokPortugalStore(StoreBase):
|
||||
name = 'Bubok Portugal'
|
||||
description = u'Bubok Publishing Portugal is a publisher, library and store of books of authors from Portugal. They have a big amount of books of a lot of topics' # noqa
|
||||
description = 'Bubok Publishing Portugal is a publisher, library and store of books of authors from Portugal. They have a big amount of books of a lot of topics' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.bubok_portugal_plugin:BubokPortugalStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1490,7 +1490,7 @@ class StoreBubokPortugalStore(StoreBase):
|
||||
|
||||
class StoreBaenWebScriptionStore(StoreBase):
|
||||
name = 'Baen Ebooks'
|
||||
description = u'Sci-Fi & Fantasy brought to you by Jim Baen.'
|
||||
description = 'Sci-Fi & Fantasy brought to you by Jim Baen.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.baen_webscription_plugin:BaenWebScriptionStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1500,7 +1500,7 @@ class StoreBaenWebScriptionStore(StoreBase):
|
||||
|
||||
class StoreBNStore(StoreBase):
|
||||
name = 'Barnes and Noble'
|
||||
description = u'The world\'s largest book seller. As the ultimate destination for book lovers, Barnes & Noble.com offers an incredible array of content.'
|
||||
description = 'The world\'s largest book seller. As the ultimate destination for book lovers, Barnes & Noble.com offers an incredible array of content.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.bn_plugin:BNStore'
|
||||
|
||||
headquarters = 'US'
|
||||
@ -1510,7 +1510,7 @@ class StoreBNStore(StoreBase):
|
||||
class StoreBeamEBooksDEStore(StoreBase):
|
||||
name = 'Beam EBooks DE'
|
||||
author = 'Charles Haley'
|
||||
description = u'Bei uns finden Sie: Tausende deutschsprachige e-books; Alle e-books ohne hartes DRM; PDF, ePub und Mobipocket Format; Sofortige Verfügbarkeit - 24 Stunden am Tag; Günstige Preise; e-books für viele Lesegeräte, PC,Mac und Smartphones; Viele Gratis e-books' # noqa
|
||||
description = 'Bei uns finden Sie: Tausende deutschsprachige e-books; Alle e-books ohne hartes DRM; PDF, ePub und Mobipocket Format; Sofortige Verfügbarkeit - 24 Stunden am Tag; Günstige Preise; e-books für viele Lesegeräte, PC,Mac und Smartphones; Viele Gratis e-books' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.beam_ebooks_de_plugin:BeamEBooksDEStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1519,9 +1519,9 @@ class StoreBeamEBooksDEStore(StoreBase):
|
||||
|
||||
|
||||
class StoreBiblioStore(StoreBase):
|
||||
name = u'Библио.бг'
|
||||
name = 'Библио.бг'
|
||||
author = 'Alex Stanev'
|
||||
description = u'Електронна книжарница за книги и списания във формати ePUB и PDF. Част от заглавията са с активна DRM защита.'
|
||||
description = 'Електронна книжарница за книги и списания във формати ePUB и PDF. Част от заглавията са с активна DRM защита.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.biblio_plugin:BiblioStore'
|
||||
|
||||
headquarters = 'BG'
|
||||
@ -1529,9 +1529,9 @@ class StoreBiblioStore(StoreBase):
|
||||
|
||||
|
||||
class StoreChitankaStore(StoreBase):
|
||||
name = u'Моята библиотека'
|
||||
name = 'Моята библиотека'
|
||||
author = 'Alex Stanev'
|
||||
description = u'Независим сайт за DRM свободна литература на български език'
|
||||
description = 'Независим сайт за DRM свободна литература на български език'
|
||||
actual_plugin = 'calibre.gui2.store.stores.chitanka_plugin:ChitankaStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1541,7 +1541,7 @@ class StoreChitankaStore(StoreBase):
|
||||
|
||||
class StoreEbookNLStore(StoreBase):
|
||||
name = 'eBook.nl'
|
||||
description = u'De eBookwinkel van Nederland'
|
||||
description = 'De eBookwinkel van Nederland'
|
||||
actual_plugin = 'calibre.gui2.store.stores.ebook_nl_plugin:EBookNLStore'
|
||||
|
||||
headquarters = 'NL'
|
||||
@ -1551,8 +1551,8 @@ class StoreEbookNLStore(StoreBase):
|
||||
|
||||
class StoreEbookpointStore(StoreBase):
|
||||
name = 'Ebookpoint'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'E-booki wolne od DRM, 3 formaty w pakiecie, wysyłanie na Kindle'
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'E-booki wolne od DRM, 3 formaty w pakiecie, wysyłanie na Kindle'
|
||||
actual_plugin = 'calibre.gui2.store.stores.ebookpoint_plugin:EbookpointStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1563,7 +1563,7 @@ class StoreEbookpointStore(StoreBase):
|
||||
|
||||
class StoreEbookscomStore(StoreBase):
|
||||
name = 'eBooks.com'
|
||||
description = u'Sells books in multiple electronic formats in all categories. Technical infrastructure is cutting edge, robust and scalable, with servers in the US and Europe.' # noqa
|
||||
description = 'Sells books in multiple electronic formats in all categories. Technical infrastructure is cutting edge, robust and scalable, with servers in the US and Europe.' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.ebooks_com_plugin:EbookscomStore'
|
||||
|
||||
headquarters = 'US'
|
||||
@ -1573,7 +1573,7 @@ class StoreEbookscomStore(StoreBase):
|
||||
|
||||
class StoreEbooksGratuitsStore(StoreBase):
|
||||
name = 'EbooksGratuits.com'
|
||||
description = u'Ebooks Libres et Gratuits'
|
||||
description = 'Ebooks Libres et Gratuits'
|
||||
actual_plugin = 'calibre.gui2.store.stores.ebooksgratuits_plugin:EbooksGratuitsStore'
|
||||
|
||||
headquarters = 'FR'
|
||||
@ -1582,8 +1582,8 @@ class StoreEbooksGratuitsStore(StoreBase):
|
||||
|
||||
# class StoreEBookShoppeUKStore(StoreBase):
|
||||
# name = 'ebookShoppe UK'
|
||||
# author = u'Charles Haley'
|
||||
# description = u'We made this website in an attempt to offer the widest range of UK eBooks possible across and as many formats as we could manage.'
|
||||
# author = 'Charles Haley'
|
||||
# description = 'We made this website in an attempt to offer the widest range of UK eBooks possible across and as many formats as we could manage.'
|
||||
# actual_plugin = 'calibre.gui2.store.stores.ebookshoppe_uk_plugin:EBookShoppeUKStore'
|
||||
#
|
||||
# headquarters = 'UK'
|
||||
@ -1592,9 +1592,9 @@ class StoreEbooksGratuitsStore(StoreBase):
|
||||
|
||||
|
||||
class StoreEKnigiStore(StoreBase):
|
||||
name = u'еКниги'
|
||||
name = 'еКниги'
|
||||
author = 'Alex Stanev'
|
||||
description = u'Онлайн книжарница за електронни книги и аудио риалити романи'
|
||||
description = 'Онлайн книжарница за електронни книги и аудио риалити романи'
|
||||
actual_plugin = 'calibre.gui2.store.stores.eknigi_plugin:eKnigiStore'
|
||||
|
||||
headquarters = 'BG'
|
||||
@ -1604,8 +1604,8 @@ class StoreEKnigiStore(StoreBase):
|
||||
|
||||
class StoreEmpikStore(StoreBase):
|
||||
name = 'Empik'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Empik to marka o unikalnym dziedzictwie i legendarne miejsce, dawne “okno na świat”. Jest obecna w polskim krajobrazie kulturalnym od 60 lat (wcześniej jako Kluby Międzynarodowej Prasy i Książki).' # noqa
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'Empik to marka o unikalnym dziedzictwie i legendarne miejsce, dawne “okno na świat”. Jest obecna w polskim krajobrazie kulturalnym od 60 lat (wcześniej jako Kluby Międzynarodowej Prasy i Książki).' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.empik_plugin:EmpikStore'
|
||||
|
||||
headquarters = 'PL'
|
||||
@ -1615,7 +1615,7 @@ class StoreEmpikStore(StoreBase):
|
||||
|
||||
class StoreFeedbooksStore(StoreBase):
|
||||
name = 'Feedbooks'
|
||||
description = u'Feedbooks is a cloud publishing and distribution service, connected to a large ecosystem of reading systems and social networks. Provides a variety of genres from independent and classic books.' # noqa
|
||||
description = 'Feedbooks is a cloud publishing and distribution service, connected to a large ecosystem of reading systems and social networks. Provides a variety of genres from independent and classic books.' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.feedbooks_plugin:FeedbooksStore'
|
||||
|
||||
headquarters = 'FR'
|
||||
@ -1624,7 +1624,7 @@ class StoreFeedbooksStore(StoreBase):
|
||||
|
||||
class StoreGoogleBooksStore(StoreBase):
|
||||
name = 'Google Books'
|
||||
description = u'Google Books'
|
||||
description = 'Google Books'
|
||||
actual_plugin = 'calibre.gui2.store.stores.google_books_plugin:GoogleBooksStore'
|
||||
|
||||
headquarters = 'US'
|
||||
@ -1633,7 +1633,7 @@ class StoreGoogleBooksStore(StoreBase):
|
||||
|
||||
class StoreGutenbergStore(StoreBase):
|
||||
name = 'Project Gutenberg'
|
||||
description = u'The first producer of free e-books. Free in the United States because their copyright has expired. They may not be free of copyright in other countries. Readers outside of the United States must check the copyright laws of their countries before downloading or redistributing our e-books.' # noqa
|
||||
description = 'The first producer of free e-books. Free in the United States because their copyright has expired. They may not be free of copyright in other countries. Readers outside of the United States must check the copyright laws of their countries before downloading or redistributing our e-books.' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.gutenberg_plugin:GutenbergStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1643,7 +1643,7 @@ class StoreGutenbergStore(StoreBase):
|
||||
|
||||
class StoreKoboStore(StoreBase):
|
||||
name = 'Kobo'
|
||||
description = u'With over 2.3 million e-books to browse we have engaged readers in over 200 countries in Kobo eReading. Our e-book listings include New York Times Bestsellers, award winners, classics and more!' # noqa
|
||||
description = 'With over 2.3 million e-books to browse we have engaged readers in over 200 countries in Kobo eReading. Our e-book listings include New York Times Bestsellers, award winners, classics and more!' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.kobo_plugin:KoboStore'
|
||||
|
||||
headquarters = 'CA'
|
||||
@ -1653,8 +1653,8 @@ class StoreKoboStore(StoreBase):
|
||||
|
||||
class StoreLegimiStore(StoreBase):
|
||||
name = 'Legimi'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'E-booki w formacie EPUB, MOBI i PDF'
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'E-booki w formacie EPUB, MOBI i PDF'
|
||||
actual_plugin = 'calibre.gui2.store.stores.legimi_plugin:LegimiStore'
|
||||
|
||||
headquarters = 'PL'
|
||||
@ -1665,7 +1665,7 @@ class StoreLegimiStore(StoreBase):
|
||||
class StoreLibreDEStore(StoreBase):
|
||||
name = 'ebook.de'
|
||||
author = 'Charles Haley'
|
||||
description = u'All Ihre Bücher immer dabei. Suchen, finden, kaufen: so einfach wie nie. ebook.de war libre.de'
|
||||
description = 'All Ihre Bücher immer dabei. Suchen, finden, kaufen: so einfach wie nie. ebook.de war libre.de'
|
||||
actual_plugin = 'calibre.gui2.store.stores.libri_de_plugin:LibreDEStore'
|
||||
|
||||
headquarters = 'DE'
|
||||
@ -1675,7 +1675,7 @@ class StoreLibreDEStore(StoreBase):
|
||||
|
||||
class StoreLitResStore(StoreBase):
|
||||
name = 'LitRes'
|
||||
description = u'e-books from LitRes.ru'
|
||||
description = 'e-books from LitRes.ru'
|
||||
actual_plugin = 'calibre.gui2.store.stores.litres_plugin:LitResStore'
|
||||
author = 'Roman Mukhin'
|
||||
|
||||
@ -1687,7 +1687,7 @@ class StoreLitResStore(StoreBase):
|
||||
|
||||
class StoreManyBooksStore(StoreBase):
|
||||
name = 'ManyBooks'
|
||||
description = u'Public domain and creative commons works from many sources.'
|
||||
description = 'Public domain and creative commons works from many sources.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.manybooks_plugin:ManyBooksStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1698,7 +1698,7 @@ class StoreManyBooksStore(StoreBase):
|
||||
class StoreMillsBoonUKStore(StoreBase):
|
||||
name = 'Mills and Boon UK'
|
||||
author = 'Charles Haley'
|
||||
description = u'"Bring Romance to Life" "[A] hallmark for romantic fiction, recognised around the world."'
|
||||
description = '"Bring Romance to Life" "[A] hallmark for romantic fiction, recognised around the world."'
|
||||
actual_plugin = 'calibre.gui2.store.stores.mills_boon_uk_plugin:MillsBoonUKStore'
|
||||
|
||||
headquarters = 'UK'
|
||||
@ -1708,7 +1708,7 @@ class StoreMillsBoonUKStore(StoreBase):
|
||||
|
||||
class StoreMobileReadStore(StoreBase):
|
||||
name = 'MobileRead'
|
||||
description = u'E-books handcrafted with the utmost care.'
|
||||
description = 'E-books handcrafted with the utmost care.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.mobileread.mobileread_plugin:MobileReadStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1718,8 +1718,8 @@ class StoreMobileReadStore(StoreBase):
|
||||
|
||||
class StoreNextoStore(StoreBase):
|
||||
name = 'Nexto'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Największy w Polsce sklep internetowy z audiobookami mp3, ebookami pdf oraz prasą do pobrania on-line.'
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'Największy w Polsce sklep internetowy z audiobookami mp3, ebookami pdf oraz prasą do pobrania on-line.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.nexto_plugin:NextoStore'
|
||||
|
||||
headquarters = 'PL'
|
||||
@ -1729,7 +1729,7 @@ class StoreNextoStore(StoreBase):
|
||||
|
||||
class StoreOpenBooksStore(StoreBase):
|
||||
name = 'Open Books'
|
||||
description = u'Comprehensive listing of DRM free e-books from a variety of sources provided by users of calibre.'
|
||||
description = 'Comprehensive listing of DRM free e-books from a variety of sources provided by users of calibre.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.open_books_plugin:OpenBooksStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1738,7 +1738,7 @@ class StoreOpenBooksStore(StoreBase):
|
||||
|
||||
class StoreOzonRUStore(StoreBase):
|
||||
name = 'OZON.ru'
|
||||
description = u'e-books from OZON.ru'
|
||||
description = 'e-books from OZON.ru'
|
||||
actual_plugin = 'calibre.gui2.store.stores.ozon_ru_plugin:OzonRUStore'
|
||||
author = 'Roman Mukhin'
|
||||
|
||||
@ -1750,7 +1750,7 @@ class StoreOzonRUStore(StoreBase):
|
||||
|
||||
class StorePragmaticBookshelfStore(StoreBase):
|
||||
name = 'Pragmatic Bookshelf'
|
||||
description = u'The Pragmatic Bookshelf\'s collection of programming and tech books avaliable as e-books.'
|
||||
description = 'The Pragmatic Bookshelf\'s collection of programming and tech books avaliable as e-books.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.pragmatic_bookshelf_plugin:PragmaticBookshelfStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1760,9 +1760,9 @@ class StorePragmaticBookshelfStore(StoreBase):
|
||||
|
||||
class StorePublioStore(StoreBase):
|
||||
name = 'Publio'
|
||||
description = u'Publio.pl to księgarnia internetowa, w której mogą Państwo nabyć e-booki i audiobooki.'
|
||||
description = 'Publio.pl to księgarnia internetowa, w której mogą Państwo nabyć e-booki i audiobooki.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.publio_plugin:PublioStore'
|
||||
author = u'Tomasz Długosz'
|
||||
author = 'Tomasz Długosz'
|
||||
|
||||
headquarters = 'PL'
|
||||
formats = ['EPUB', 'MOBI', 'PDF']
|
||||
@ -1771,9 +1771,9 @@ class StorePublioStore(StoreBase):
|
||||
|
||||
class StoreRW2010Store(StoreBase):
|
||||
name = 'RW2010'
|
||||
description = u'Polski serwis self-publishingowy. Pliki PDF, EPUB i MOBI.'
|
||||
description = 'Polski serwis self-publishingowy. Pliki PDF, EPUB i MOBI.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.rw2010_plugin:RW2010Store'
|
||||
author = u'Tomasz Długosz'
|
||||
author = 'Tomasz Długosz'
|
||||
|
||||
drm_free_only = True
|
||||
headquarters = 'PL'
|
||||
@ -1782,7 +1782,7 @@ class StoreRW2010Store(StoreBase):
|
||||
|
||||
class StoreSmashwordsStore(StoreBase):
|
||||
name = 'Smashwords'
|
||||
description = u'An e-book publishing and distribution platform for e-book authors, publishers and readers. Covers many genres and formats.'
|
||||
description = 'An e-book publishing and distribution platform for e-book authors, publishers and readers. Covers many genres and formats.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.smashwords_plugin:SmashwordsStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1792,9 +1792,9 @@ class StoreSmashwordsStore(StoreBase):
|
||||
|
||||
|
||||
class StoreSwiatEbookowStore(StoreBase):
|
||||
name = u'Świat Ebooków'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Ebooki maje tę zaletę, że są zawsze i wszędzie tam, gdzie tylko nas dopadnie ochota na czytanie.'
|
||||
name = 'Świat Ebooków'
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'Ebooki maje tę zaletę, że są zawsze i wszędzie tam, gdzie tylko nas dopadnie ochota na czytanie.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.swiatebookow_plugin:SwiatEbookowStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1805,8 +1805,8 @@ class StoreSwiatEbookowStore(StoreBase):
|
||||
|
||||
class StoreVirtualoStore(StoreBase):
|
||||
name = 'Virtualo'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Księgarnia internetowa, która oferuje bezpieczny i szeroki dostęp do książek w formie cyfrowej.'
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'Księgarnia internetowa, która oferuje bezpieczny i szeroki dostęp do książek w formie cyfrowej.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.virtualo_plugin:VirtualoStore'
|
||||
|
||||
headquarters = 'PL'
|
||||
@ -1816,7 +1816,7 @@ class StoreVirtualoStore(StoreBase):
|
||||
|
||||
class StoreWeightlessBooksStore(StoreBase):
|
||||
name = 'Weightless Books'
|
||||
description = u'An independent DRM-free e-book site devoted to e-books of all sorts.'
|
||||
description = 'An independent DRM-free e-book site devoted to e-books of all sorts.'
|
||||
actual_plugin = 'calibre.gui2.store.stores.weightless_books_plugin:WeightlessBooksStore'
|
||||
|
||||
drm_free_only = True
|
||||
@ -1836,8 +1836,8 @@ class StoreWHSmithUKStore(StoreBase):
|
||||
|
||||
class StoreWolneLekturyStore(StoreBase):
|
||||
name = 'Wolne Lektury'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Wolne Lektury to biblioteka internetowa czynna 24 godziny na dobę, 365 dni w roku, której zasoby dostępne są całkowicie za darmo. Wszystkie dzieła są odpowiednio opracowane - opatrzone przypisami, motywami i udostępnione w kilku formatach - HTML, TXT, PDF, EPUB, MOBI, FB2.' # noqa
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'Wolne Lektury to biblioteka internetowa czynna 24 godziny na dobę, 365 dni w roku, której zasoby dostępne są całkowicie za darmo. Wszystkie dzieła są odpowiednio opracowane - opatrzone przypisami, motywami i udostępnione w kilku formatach - HTML, TXT, PDF, EPUB, MOBI, FB2.' # noqa
|
||||
actual_plugin = 'calibre.gui2.store.stores.wolnelektury_plugin:WolneLekturyStore'
|
||||
|
||||
headquarters = 'PL'
|
||||
@ -1846,8 +1846,8 @@ class StoreWolneLekturyStore(StoreBase):
|
||||
|
||||
class StoreWoblinkStore(StoreBase):
|
||||
name = 'Woblink'
|
||||
author = u'Tomasz Długosz'
|
||||
description = u'Czytanie zdarza się wszędzie!'
|
||||
author = 'Tomasz Długosz'
|
||||
description = 'Czytanie zdarza się wszędzie!'
|
||||
actual_plugin = 'calibre.gui2.store.stores.woblink_plugin:WoblinkStore'
|
||||
|
||||
headquarters = 'PL'
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
'''
|
||||
Defines the plugin system for conversions.
|
||||
'''
|
||||
|
@ -1,5 +1,5 @@
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
__license__ = 'GPL 3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
@ -1,5 +1,4 @@
|
||||
from __future__ import with_statement
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
|
@ -425,7 +425,7 @@ class WEBOS(USBMS):
|
||||
im.thumbnail((52, 69), Image.ANTIALIAS)
|
||||
|
||||
x, y = im.size
|
||||
cover.paste(im, ((52-x)/2, (69-y)/2))
|
||||
cover.paste(im, ((52-x)//2, (69-y)//2))
|
||||
|
||||
cover2 = cover.resize((52, 69), Image.ANTIALIAS).convert('RGB')
|
||||
|
||||
|
@ -40,7 +40,7 @@ def write_t2b(t2bfile, coverdata=None):
|
||||
t2bcover = Image.new('L', (96, 144), 'white')
|
||||
|
||||
x, y = cover.size
|
||||
t2bcover.paste(cover, ((96-x)/2, (144-y)/2))
|
||||
t2bcover.paste(cover, ((96-x)//2, (144-y)//2))
|
||||
|
||||
px = []
|
||||
pxs = t2bcover.getdata()
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, John Schember <john at nachtimwald.com>'
|
||||
@ -14,8 +15,8 @@ from calibre.devices.usbms.driver import USBMS
|
||||
|
||||
|
||||
def is_alex(device_info):
|
||||
return device_info[3] == u'Linux 2.6.28 with pxa3xx_u2d' and \
|
||||
device_info[4] == u'Seleucia Disk'
|
||||
return device_info[3] == 'Linux 2.6.28 with pxa3xx_u2d' and \
|
||||
device_info[4] == 'Seleucia Disk'
|
||||
|
||||
|
||||
class N516(USBMS):
|
||||
|
@ -1,5 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
|
@ -147,7 +147,7 @@ class APNXBuilder(object):
|
||||
r0 = phead.section_data(0)
|
||||
text_length = struct.unpack('>I', r0[4:8])[0]
|
||||
|
||||
chars_per_page = int(text_length / page_count)
|
||||
chars_per_page = int(text_length // page_count)
|
||||
while count < text_length:
|
||||
pages.append(count)
|
||||
count += chars_per_page
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, John Schember <john at nachtimwald.com>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
@ -118,11 +118,11 @@ class KINDLE(USBMS):
|
||||
return mi
|
||||
|
||||
def get_annotations(self, path_map):
|
||||
MBP_FORMATS = [u'azw', u'mobi', u'prc', u'txt']
|
||||
MBP_FORMATS = ['azw', 'mobi', 'prc', 'txt']
|
||||
mbp_formats = set(MBP_FORMATS)
|
||||
PDR_FORMATS = [u'pdf']
|
||||
PDR_FORMATS = ['pdf']
|
||||
pdr_formats = set(PDR_FORMATS)
|
||||
TAN_FORMATS = [u'tpz', u'azw1']
|
||||
TAN_FORMATS = ['tpz', 'azw1']
|
||||
tan_formats = set(TAN_FORMATS)
|
||||
|
||||
def get_storage():
|
||||
@ -213,7 +213,7 @@ class KINDLE(USBMS):
|
||||
# Add the last-read location
|
||||
if bookmark.book_format == 'pdf':
|
||||
markup = _("%(time)s<br />Last page read: %(loc)d (%(pr)d%%)") % dict(
|
||||
time=strftime(u'%x', timestamp.timetuple()),
|
||||
time=strftime('%x', timestamp.timetuple()),
|
||||
loc=last_read_location,
|
||||
pr=percent_read)
|
||||
else:
|
||||
|
@ -1,3 +1,5 @@
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
@ -9,4 +11,3 @@ CACHE_EXT = 'Sony Reader/database/cacheExt.xml'
|
||||
|
||||
MEDIA_THUMBNAIL = 'database/thumbnail'
|
||||
CACHE_THUMBNAIL = 'Sony Reader/thumbnail'
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -16,10 +17,10 @@ from calibre.ebooks.chardet import xml_to_unicode
|
||||
from calibre.ebooks.metadata import authors_to_string, title_sort, \
|
||||
authors_to_sort_string
|
||||
from polyglot.binary import from_base64_bytes
|
||||
from polyglot.builtins import zip
|
||||
from polyglot.builtins import unicode_type, zip
|
||||
|
||||
'''
|
||||
cahceExt.xml
|
||||
cacheExt.xml
|
||||
|
||||
Periodical identifier sample from a PRS-650:
|
||||
|
||||
@ -65,8 +66,8 @@ INVERSE_MONTH_MAP = dict(zip(MONTH_MAP.values(), MONTH_MAP.keys()))
|
||||
def strptime(src):
|
||||
src = src.strip()
|
||||
src = src.split()
|
||||
src[0] = str(DAY_MAP[src[0][:-1]])+','
|
||||
src[2] = str(MONTH_MAP[src[2]])
|
||||
src[0] = unicode_type(DAY_MAP[src[0][:-1]])+','
|
||||
src[2] = unicode_type(MONTH_MAP[src[2]])
|
||||
return time.strptime(' '.join(src), '%w, %d %m %Y %H:%M:%S %Z')
|
||||
|
||||
|
||||
@ -83,7 +84,7 @@ def strftime(epoch, zone=time.localtime):
|
||||
|
||||
def uuid():
|
||||
from uuid import uuid4
|
||||
return str(uuid4()).replace('-', '', 1).upper()
|
||||
return unicode_type(uuid4()).replace('-', '', 1).upper()
|
||||
|
||||
# }}}
|
||||
|
||||
@ -199,8 +200,8 @@ class XMLCache(object):
|
||||
playlist.set('title', title)
|
||||
if title in seen:
|
||||
for i in range(2, 1000):
|
||||
if title+str(i) not in seen:
|
||||
title = title+str(i)
|
||||
if title+unicode_type(i) not in seen:
|
||||
title = title+unicode_type(i)
|
||||
playlist.set('title', title)
|
||||
seen.add(title)
|
||||
break
|
||||
@ -273,7 +274,7 @@ class XMLCache(object):
|
||||
nsmap=root.nsmap, attrib={
|
||||
'uuid' : uuid(),
|
||||
'title': title,
|
||||
'id' : str(self.max_id(root)+1),
|
||||
'id' : unicode_type(self.max_id(root)+1),
|
||||
'sourceid': '1'
|
||||
})
|
||||
root.append(ans)
|
||||
@ -312,13 +313,13 @@ class XMLCache(object):
|
||||
def ensure_media_xml_base_ids(root):
|
||||
for num, tag in enumerate(('library', 'watchSpecial')):
|
||||
for x in root.xpath('//*[local-name()="%s"]'%tag):
|
||||
x.set('id', str(num))
|
||||
x.set('id', unicode_type(num))
|
||||
|
||||
def rebase_ids(root, base, sourceid, pl_sourceid):
|
||||
'Rebase all ids and also make them consecutive'
|
||||
for item in root.xpath('//*[@sourceid]'):
|
||||
sid = pl_sourceid if item.tag.endswith('playlist') else sourceid
|
||||
item.set('sourceid', str(sid))
|
||||
item.set('sourceid', unicode_type(sid))
|
||||
# Only rebase ids of nodes that are immediate children of the
|
||||
# record root (that way playlist/itemnodes are unaffected
|
||||
items = root.xpath('child::*[@id]')
|
||||
@ -328,8 +329,8 @@ class XMLCache(object):
|
||||
old = int(item.get('id'))
|
||||
new = base + i
|
||||
if old != new:
|
||||
item.set('id', str(new))
|
||||
idmap[str(old)] = str(new)
|
||||
item.set('id', unicode_type(new))
|
||||
idmap[unicode_type(old)] = unicode_type(new)
|
||||
return idmap
|
||||
|
||||
self.prune_empty_playlists()
|
||||
@ -358,7 +359,7 @@ class XMLCache(object):
|
||||
|
||||
last_bl = max(self.roots.keys())
|
||||
max_id = self.max_id(self.roots[last_bl])
|
||||
self.roots[0].set('nextID', str(max_id+1))
|
||||
self.roots[0].set('nextID', unicode_type(max_id+1))
|
||||
debug_print('Finished running fix_ids()')
|
||||
|
||||
# }}}
|
||||
@ -515,7 +516,7 @@ class XMLCache(object):
|
||||
# Ensure each book has an ID.
|
||||
for rec in records:
|
||||
if rec.get('id', None) is None:
|
||||
rec.set('id', str(self.max_id(root)+1))
|
||||
rec.set('id', unicode_type(self.max_id(root)+1))
|
||||
ids = [x.get('id', None) for x in records]
|
||||
# Given that we set the ids, there shouldn't be any None's. But
|
||||
# better to be safe...
|
||||
@ -572,7 +573,7 @@ class XMLCache(object):
|
||||
id_ = self.max_id(root)+1
|
||||
attrib = {
|
||||
'page':'0', 'part':'0','pageOffset':'0','scale':'0',
|
||||
'id':str(id_), 'sourceid':'1', 'path':lpath}
|
||||
'id':unicod_type(id_), 'sourceid':'1', 'path':lpath}
|
||||
ans = root.makeelement('{%s}text'%namespace, attrib=attrib, nsmap=root.nsmap)
|
||||
root.append(ans)
|
||||
return ans
|
||||
@ -591,7 +592,7 @@ class XMLCache(object):
|
||||
if thumbnail and thumbnail[-1]:
|
||||
ans.text = '\n' + '\t\t'
|
||||
t = root.makeelement('{%s}thumbnail'%namespace,
|
||||
attrib={'width':str(thumbnail[0]), 'height':str(thumbnail[1])},
|
||||
attrib={'width':unicode_type(thumbnail[0]), 'height':unicode_type(thumbnail[1])},
|
||||
nsmap=root.nsmap)
|
||||
t.text = 'main_thumbnail.jpg'
|
||||
ans.append(t)
|
||||
@ -629,7 +630,7 @@ class XMLCache(object):
|
||||
def clean(x):
|
||||
if isbytestring(x):
|
||||
x = x.decode(preferred_encoding, 'replace')
|
||||
x.replace(u'\0', '')
|
||||
x.replace('\0', '')
|
||||
return x
|
||||
|
||||
def record_set(k, v):
|
||||
@ -660,7 +661,7 @@ class XMLCache(object):
|
||||
date = strftime(timestamp, zone=tz)
|
||||
record.set('date', clean(date))
|
||||
try:
|
||||
record.set('size', clean(str(os.stat(path).st_size)))
|
||||
record.set('size', clean(unicode_type(os.stat(path).st_size)))
|
||||
except:
|
||||
record.set('size', '0')
|
||||
title = book.title if book.title else _('Unknown')
|
||||
@ -690,7 +691,7 @@ class XMLCache(object):
|
||||
record.set('sourceid', '1')
|
||||
if 'id' not in record.attrib:
|
||||
num = self.max_id(record.getroottree().getroot())
|
||||
record.set('id', str(num+1))
|
||||
record.set('id', unicode_type(num+1))
|
||||
return (gtz_count, ltz_count, use_tz_var)
|
||||
# }}}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2011, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
@ -65,7 +66,7 @@ class HTMLRenderer(object):
|
||||
buf = QBuffer(ba)
|
||||
buf.open(QBuffer.WriteOnly)
|
||||
image.save(buf, 'JPEG')
|
||||
self.data = str(ba.data())
|
||||
self.data = bytes(ba.data())
|
||||
except Exception as e:
|
||||
self.exception = e
|
||||
self.traceback = traceback.format_exc()
|
||||
|
@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=utf-8
|
||||
# License: GPLv3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
from functools import partial
|
||||
from collections import OrderedDict
|
||||
import operator, numbers
|
||||
@ -12,7 +12,7 @@ from css_parser.css import Property, CSSRule
|
||||
from calibre import force_unicode
|
||||
from calibre.ebooks import parse_css_length
|
||||
from calibre.ebooks.oeb.normalize_css import normalizers, safe_parser
|
||||
from polyglot.builtins import iteritems
|
||||
from polyglot.builtins import iteritems, unicode_type
|
||||
|
||||
|
||||
def compile_pat(pat):
|
||||
@ -161,7 +161,7 @@ def transform_number(val, op, raw):
|
||||
v = op(v, val)
|
||||
if int(v) == v:
|
||||
v = int(v)
|
||||
return str(v) + u
|
||||
return unicode_type(v) + u
|
||||
|
||||
|
||||
class Rule(object):
|
||||
@ -379,7 +379,7 @@ def test(return_tests=False): # {{{
|
||||
r = Rule(**rule)
|
||||
decl = StyleDeclaration(safe_parser().parseStyle(style))
|
||||
r.process_declaration(decl)
|
||||
return str(decl)
|
||||
return unicode_type(decl)
|
||||
|
||||
class TestTransforms(unittest.TestCase):
|
||||
longMessage = True
|
||||
|
@ -1,3 +1,5 @@
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
""" Hyphenation, using Frank Liang's algorithm.
|
||||
|
||||
This module provides a single function to hyphenate words. hyphenate_word takes
|
||||
@ -13,7 +15,6 @@
|
||||
Ned Batchelder, July 2007.
|
||||
This Python code is in the public domain.
|
||||
"""
|
||||
from __future__ import print_function
|
||||
|
||||
import re
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user