mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Put @classmethods back in. I don't understand why the decoration is there, so I hesitate to take it out. Far as I can see, there is no reason for it, but ...
This commit is contained in:
parent
72fbd67c17
commit
96079a712c
@ -27,14 +27,17 @@ class USBMS(CLI, Device):
|
|||||||
author = _('John Schember')
|
author = _('John Schember')
|
||||||
supported_platforms = ['windows', 'osx', 'linux']
|
supported_platforms = ['windows', 'osx', 'linux']
|
||||||
|
|
||||||
|
booklist_class = BookList
|
||||||
|
book_class = Book
|
||||||
|
|
||||||
FORMATS = []
|
FORMATS = []
|
||||||
CAN_SET_METADATA = True
|
CAN_SET_METADATA = True
|
||||||
METADATA_CACHE = 'metadata.calibre'
|
METADATA_CACHE = 'metadata.calibre'
|
||||||
|
|
||||||
def initialize(self):
|
def initialize(self):
|
||||||
Device.initialize(self)
|
Device.initialize(self)
|
||||||
self.booklist_class = BookList
|
# self.booklist_class = BookList
|
||||||
self.book_class = Book
|
# self.book_class = Book
|
||||||
|
|
||||||
def get_device_information(self, end_session=True):
|
def get_device_information(self, end_session=True):
|
||||||
self.report_progress(1.0, _('Get device information...'))
|
self.report_progress(1.0, _('Get device information...'))
|
||||||
@ -234,14 +237,15 @@ class USBMS(CLI, Device):
|
|||||||
|
|
||||||
self.report_progress(1.0, _('Sending metadata to device...'))
|
self.report_progress(1.0, _('Sending metadata to device...'))
|
||||||
|
|
||||||
def parse_metadata_cache(self, prefix, name, bl):
|
@classmethod
|
||||||
|
def parse_metadata_cache(cls, prefix, name, bl):
|
||||||
js = []
|
js = []
|
||||||
need_sync = False
|
need_sync = False
|
||||||
try:
|
try:
|
||||||
with open(os.path.join(prefix, name), 'rb') as f:
|
with open(os.path.join(prefix, name), 'rb') as f:
|
||||||
js = json.load(f, encoding='utf-8')
|
js = json.load(f, encoding='utf-8')
|
||||||
for item in js:
|
for item in js:
|
||||||
book = self.book_class(prefix, item.get('lpath', None))
|
book = cls.book_class(prefix, item.get('lpath', None))
|
||||||
for key in item.keys():
|
for key in item.keys():
|
||||||
setattr(book, key, item[key])
|
setattr(book, key, item[key])
|
||||||
bl.append(book)
|
bl.append(book)
|
||||||
@ -252,30 +256,34 @@ class USBMS(CLI, Device):
|
|||||||
need_sync = True
|
need_sync = True
|
||||||
return bl, need_sync
|
return bl, need_sync
|
||||||
|
|
||||||
def update_metadata_item(self, item):
|
@classmethod
|
||||||
|
def update_metadata_item(cls, item):
|
||||||
changed = False
|
changed = False
|
||||||
size = os.stat(item.path).st_size
|
size = os.stat(item.path).st_size
|
||||||
if size != item.size:
|
if size != item.size:
|
||||||
changed = True
|
changed = True
|
||||||
mi = self.metadata_from_path(item.path)
|
mi = cls.metadata_from_path(item.path)
|
||||||
item.smart_update(mi)
|
item.smart_update(mi)
|
||||||
item.size = size
|
item.size = size
|
||||||
return item, changed
|
return item, changed
|
||||||
|
|
||||||
def metadata_from_path(self, path):
|
@classmethod
|
||||||
return self.metadata_from_formats([path])
|
def metadata_from_path(cls, path):
|
||||||
|
return cls.metadata_from_formats([path])
|
||||||
|
|
||||||
def metadata_from_formats(self, fmts):
|
@classmethod
|
||||||
|
def metadata_from_formats(cls, fmts):
|
||||||
from calibre.ebooks.metadata.meta import metadata_from_formats
|
from calibre.ebooks.metadata.meta import metadata_from_formats
|
||||||
from calibre.customize.ui import quick_metadata
|
from calibre.customize.ui import quick_metadata
|
||||||
with quick_metadata:
|
with quick_metadata:
|
||||||
return metadata_from_formats(fmts)
|
return metadata_from_formats(fmts)
|
||||||
|
|
||||||
def book_from_path(self, prefix, path):
|
@classmethod
|
||||||
|
def book_from_path(cls, prefix, path):
|
||||||
from calibre.ebooks.metadata import MetaInformation
|
from calibre.ebooks.metadata import MetaInformation
|
||||||
|
|
||||||
if self.settings().read_metadata or self.MUST_READ_METADATA:
|
if cls.settings().read_metadata or cls.MUST_READ_METADATA:
|
||||||
mi = self.metadata_from_path(os.path.join(prefix, path))
|
mi = cls.metadata_from_path(os.path.join(prefix, path))
|
||||||
else:
|
else:
|
||||||
from calibre.ebooks.metadata.meta import metadata_from_filename
|
from calibre.ebooks.metadata.meta import metadata_from_filename
|
||||||
mi = metadata_from_filename(os.path.basename(path),
|
mi = metadata_from_filename(os.path.basename(path),
|
||||||
@ -285,5 +293,5 @@ class USBMS(CLI, Device):
|
|||||||
mi = MetaInformation(os.path.splitext(os.path.basename(path))[0],
|
mi = MetaInformation(os.path.splitext(os.path.basename(path))[0],
|
||||||
[_('Unknown')])
|
[_('Unknown')])
|
||||||
mi.size = os.stat(os.path.join(prefix, path)).st_size
|
mi.size = os.stat(os.path.join(prefix, path)).st_size
|
||||||
book = self.book_class(prefix, path, other=mi)
|
book = cls.book_class(prefix, path, other=mi)
|
||||||
return book
|
return book
|
||||||
|
@ -1022,11 +1022,11 @@ class DeviceGUI(object):
|
|||||||
book_authors = authors_to_string(book.authors).lower()
|
book_authors = authors_to_string(book.authors).lower()
|
||||||
book_authors = re.sub('(?u)\W|[_]', '', book_authors)
|
book_authors = re.sub('(?u)\W|[_]', '', book_authors)
|
||||||
self.book_db_title_cache[i][book_title]['authors'].add(book_authors)
|
self.book_db_title_cache[i][book_title]['authors'].add(book_authors)
|
||||||
id = getattr(book, 'application_id', None)
|
db_id = getattr(book, 'application_id', None)
|
||||||
if id is None:
|
if db_id is None:
|
||||||
id = book.db_id
|
db_id = book.db_id
|
||||||
if id is not None:
|
if db_id is not None:
|
||||||
self.book_db_title_cache[i][book_title]['db_ids'].add(id)
|
self.book_db_title_cache[i][book_title]['db_ids'].add(db_id)
|
||||||
uuid = getattr(book, 'uuid', None)
|
uuid = getattr(book, 'uuid', None)
|
||||||
if uuid is not None:
|
if uuid is not None:
|
||||||
self.book_db_uuid_cache[i].add(uuid)
|
self.book_db_uuid_cache[i].add(uuid)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user